子查询是指一个查询语句嵌套在另一个查询语句的内部
因为很多时候查询需要从结果集中获取数据,或者需要从同一个表中先计算得出一个结果数据,然后与这个结果数据进行比较
一、需求分析与问题解决
(1)实际问题
谁的工资比Abel的高?
(2)子查询的基本使用
- 谁的工资比Abel的高?用子查询实现
- 称谓的规范:外查询(或主查询),内查询(或子查询)
- 子查询(内查询)在主查询之前执行完成
- 子查询的结果被主查询(外查询)使用
- 注意事项:
- 子查询要包含在括号内,结尾不需要加分号
- 将子查询放在比较条件的右侧
- 单行比较操作符对应单行子查询,多行比较操作符对应多行子查询
(3)子查询的分类
- 按结果记录数量分类:
- 单行子查询:子查询结果返回一条记录
- 多行子查询:子查询结果返回多条记录
- 按执行次数分类:
- 不相关(非关联)子查询:子查询仅执行一次,其结果作为主查询的条件,后续主查询基于该结果执行
- 相关(关联)子查询:子查询需执行多次,采用循环方式,先执行外部查询,每次将外部查询的部分值传入子查询进行查询,再将子查询结果反馈给外部查询
二、单行子查询
(1)单行比较操作符
单行比较操作符有哪些:
操作符 | 含义 |
---|---|
= | 等于 |
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
<> | 不等于 |
(2)代码示例
- = 操作符: