子查询
子查询 (内查询) 在主查询之前一次执行完成。
子查询的结果被主查询(外查询)使用。
子查询要包含在括号内。
将子查询放在比较条件的右侧。
单行操作符对应单行子查询,多行操作符对应多行子查询。
在查询时基于未知的值时,应使用子查询。
一、单行子查询
单行子查询只返回一行。
使用单行比较操作符。
1. 单行比较操作符
Equal to —————————— =
Greater than ———————— >
Greater than or equal to ——— >=
Less than ————————— <
Less than or equal to ———— <=
Not equal to ———————— <>
2. 使用单行子查询
3. 单行子查询(只返回一行,在主查询之前一次执行完成)
4. 主查询(子查询的结果被主查询使用)
二、多行子查询
多行子查询返回多行。
使用多行比较操作符。
1. 多行比较操作符
IN —————————— 等于列表中的任意一个
ANY —————————— 和子查询返回的某一个值比较
ALL —————————— 和子查询返回的所有值比较
2. IN:等于多行子查询的结果中的任意一个
因为多行子查询的结果有:9000、6000、4800、4200;
所以主查询中SALARY IN(9000,6000,4800,4200)
3. ANY:满足与多行子查询中的某一个结果的比较即可
因为多行子查询的结果有:9000、6000、4800、4200;
所以主查询中SALARY < 9000 OR SALARY < 6000 OR SALARY < 4800 OR SALARY < 4200
4. ALL:需满足与多行子查询中的所有结果的比较
因为多行子查询的结果有:9000、6000、4800、4200;
所以主查询中SALARY < 9000 AND SALARY < 6000 AND SALARY < 4800 AND SALARY < 4200