子查询,在一个查询语句中又出现了查询语句
 子查询可以出现在from和where后面
 from 表子查询(结果一般为多行多列)把查询结果继续当一张表对待
 where 标量子查询(结果集只有一行一列)查询身高最高的学生,查询到一个最高身高
 列子查询(结果集只有一行多列)
对上表进行如下操作
查询身高最高的学生
-- 查询身高最高的学生
SELECT
  NAME,
  height
FROM
  student
WHERE height =
  (SELECT
    MAX (height)
  FROM
    student)
  SELECT
    NAME,
    height
  FROM
    student
  WHERE height IN
    (SELECT
      height
    FROM
      student
    WHERE height = 1.80
      OR height = 1.57)
查询姓名重复的学生
-- 查询姓名重复的学生
SELECT
  *
FROM
  (SELECT
    NAME,
    COUNT (*) c
  FROM
    student
  GROUP BY NAME) t
WHERE t.c > 1
查询身高大于平均身高的学生
-- 查询身高大于平均身高的学生
SELECT
  NAME,
  height
FROM
  student
WHERE height >
  (SELECT
    AVG (height)
  FROM
    student)
查询与李四同专业的学生
-- 查询与李四同专业的学生
SELECT
  *
FROM
  student
WHERE majorid =
  (SELECT
    majorid
  FROM
    student
  WHERE NAME = '李四')
查询每个专业中升高最高的学生
-- 查询每个专业中身高最高的学生的信息
SELECT
  *
FROM
  student s
  INNER JOIN
    (SELECT
      MAX (height) mt,
      majorid,
      COUNT (*)
    FROM
      student
    GROUP BY majorid) t
    ON s.height = t.mt
    AND s.majorid = t.majorid



















