MySQL子查询

1.定义:一个查询的结果作为领一个查询的条件,作为条件的查询通常称为子查询

2.优点:执行效率高

举例:

1.查询成绩大于平均成绩的学生信息

分析:

  第一步:查询出平均成绩:select avg(salary) from student;

  第二步:将第一步的结果作为条件查询出成绩大于平均成绩的学生信息 : select * from student where salary >(select avg(salary) from student);

小插曲:

  select的结果集的分类:

    一行一列(一个数值)、N行一列,一行N列、N行N

3.子查询的结果集分类:

  标量子查询:子查询返回一个数值

  列子查询:子查询返回N行一列

  行子查询:子查询返回一行N列

  表子查询:子查询返回N行N列

 

小插曲:查询出年龄小于等于26的学生的男生总数和女生总数

  分析:小于等于26肯定是where条件    要求得男生和女生的总数则必须分组,然后在统计总数即可

  语句:select sex,count(*) as num from student where age<26 group by sex;

 

posted @ 2017-10-15 22:20  怪咖在骚动  阅读(621)  评论(0编辑  收藏  举报