前面的话
查询数据库,当查询条件比较复杂时,常常需要用到子查询。子查询(Subquery)是指出现在其他SQL语句内的SELECT子句。本文将详细介绍子查询
定义
子查询(Subquery)是指出现在其他SQL语句内的SELECT子句
SELECT * FROM t1 WHERE col1 = (SELECT col2 FROM t2);
其中,SELECT * FROM t1,称为外层查询(Outer Query/Outer Statement),SELECT col2 FROM t2,称为子查询(SubQuery)
在使用子查询时,需要注意的是
1、子查询指嵌套在查询内部,且必须始终出现在圆括号内
2、子查询语句中可以包含多个关键字或条件,如DISTINCT、GROUP BY、ORDER BY、LIMIT、函数等
3、子查询的外层查询可以是:SELECT、INSERT、UPDATE、SET或DO
4、子查询返回值可以是:标量、一行、一列或者子查询
