1.子查询是出现在其他SQL语句内的SELECT子句。
子查询指嵌套在查询内部,且必须始终出现在圆括号内。
子查询可以包含多个关键字或条件,如DISTINCT,GROUP BY,ORDER BY,LIMIT,函数等。
子查询的外层查询可以是:SELECT,UPDATE,INSERT,SET或DO。
2.子查询的返回结果
子查询可以返回标量,一行,一列或子查询。
3.使用比较运算符的子查询
SELECT goods_id,goods_name,goods_price FROM tab_red WHERE goods_price > ANY(SELECT goods_prices FROM tab_red WHERE goods_prices = '超极本');
4.当子查询返回多个结果的时候,可以使用ANY,SOME,ALL修饰的比较运算符
ANY | SOME | ALL | |
>,>= | 最小值 | 最小值 | 最大值 |
<,<= | 最大值 | 最大值 | 最小值 |
= | 任意值 | 任意值 | |
<>,!= | 任意值 |
5.!=ALL或<>ALL运算符与NOT IN等效,=ANY与IN等效
6.连接
CREATE TABLE tab_sky(id INT,icon VARCHAR(40)) SELECT dname FROM tab_red GROUP BY MYGROUP;