一、概念
查询中嵌套查询,称嵌套查询为子查询
-- 查询工资最高的员工信息
(1)查询最高的工资是多少 9000
SELECT MAX(salary) FROM emp;
(2)查询员工信息,并且工资等于9000的
SELECT * FROM emp WHERE emp.`salary` = 9000;
一条sql就完成这个操作,称为子查询
SELECT * FROM emp WHERE emp.`salary` = (SELECT MAX(salary) FROM emp);
- 1
二、子查询的分类
- 子查询的结果是单行单列的:
- 子查询的结果是多行单列的:
子查询结果是单例多行,结果集类似于一个数组,父查询使用IN运算符
- 子查询的结果是多行多列的:
子查询可以作为一张虚拟表参与查询
总结:
子查询结果只要是单列,则在 where 后面作为条件
子查询结果只要是多列,则在 from 后面作为表进行二次查询
- 1
- 2
- 3