MySQL子查询
MySQL常用操作,不仅在DQL语句中,而且在DDL语句、DML语句中也常用于子查询。
定义子查询:
子查询是将一个查询语句嵌套在另一个查询语句中。
在特定情况下,需要另一个查询语句来获取一个查询语句的条件。 内部查询(inner query )语句的查询结果为外部查询(outer query )语句提供了查询条件。
特点(规范) :
子查询必须放在括号中
子查询通常位于比较操作符的右侧,以提高代码的可读性
子查询(括号中的内容)几乎可以包含在所有SELECT子句中,包括SELECT子句、FROM子句、WHERE子句、ORDER BY子句和HAVING子句。
(相关、不相关)子查询分类:
标量查询(标量查询) :返回一行一列的值
行子查询(row subquery ) :返回的结果集为第n行
列子查询(column subquery ) :返回的结果集为n行1列
表子查询(表子查询) :返回的结果集为n行n列
可用操作员:===ANY IN SOME ALL EXISTS
注意:子查询返回标量、值、行、列或表。 它们称为标量、行、列和表子查询
1、如果子查询返回标量值,则可以使用符号=、=、=比较外部查询。
2,