子查询:
什么是子查询:
子查询是一个 SELECT 语句,它是嵌在另一个 SELECT 语句中的子句。
使用一个子查询相当于执行两个连续查询并且用第一个查询的结果作为第二个查询的搜索值。
子查询语法;
• 子查询 (内查询) 在主查询之前执行一次
• 子查询的结果被用于主查询 (外查询)
可以将子查询放在许多的 SQL 子句中,包括:
• WHERE 子句
• HAVING 子句
• FROM 子句
使用子查询的原则
• 子查询放在圆括号中。
• 将子查询放在比较条件的右边。
• 在单行子查询中用单行运算符,在多行子查询中用多行运算符。
子查询的类型:
• 单行子查询:子查询语句只返回一行的查询
使用单行比较符;
• 多行子查询:子查询语句返回多行的查询
使用多行比较符:
在条件中也可使用 NOT 取反。
注:< ANY 意思是小于最大值。 >ANY 意思是大于最小值。
<ALL 意思是小于最小值。>ALL 意思是大于最大值。
ANY 与 ALL 的区别:
ANY: >ANY 表示至少大于一个值,即大于最小值。
ALL: >ALL 表示大于每一个值,既大于最大值。