编写SQL查询时很多时候无法通过一次性查询就查出结果,这时可以编写一个查询嵌套在另一个查询语句内部的查询,它要么作为条件,要么作为数据源辅助主查询的查询就称为子查询
分类
MySQL 子查询可以按照查询结果的行列数不同分成:
1 标量子查询(单行单列)
2 行子查询(单行多列)
3 列子查询(单列多行)
4 表子查询(多行多列)
子查询的使用范围
1 SELECT 之后
只能使用标量子查询
2 FROM 之后
都支持
3 WHERE 和 HAVING 之后
可以使用 ‘标量子查询’、‘行子查询’ 和 ‘列子查询’
4 EXISTS 之后
都支持