SQL 子查询:将第一个查询结果用作第二个查询条件
SQL 子查询:将第一个查询结果用作第二个查询条件
使用子查询的方式,可以将第一个语句的查询结果作为第二个语句的条件进行查询。这在需要根据先前的查询结果进行筛选时非常有用。
示例:
假设有两个表:
- 表1:
employee
| id | name | age | |----|-------|-----| | 1 | Alice | 25 | | 2 | Bob | 30 | | 3 | Cathy | 35 |
- 表2:
salary
| id | employee_id | amount | |----|------------|--------| | 1 | 1 | 5000 | | 2 | 2 | 6000 | | 3 | 3 | 7000 |
现在需要查询年龄大于等于 30 岁的员工的薪水。
第一步:先查询年龄大于等于 30 岁的员工:
SELECT id FROM employee WHERE age >= 30;
查询结果为:
| id | |----| | 2 | | 3 |
第二步:将上述查询结果作为子查询,作为条件查询薪水表:
SELECT amount FROM salary WHERE employee_id IN (SELECT id FROM employee WHERE age >= 30);
查询结果为:
| amount | |--------| | 6000 | | 7000 |
这样,就可以根据第一个语句的查询结果待入到第二个语句查询了。
总结:
子查询可以帮助我们构建更复杂的查询,通过将一个查询的结果作为另一个查询的条件,实现更灵活的数据筛选。
原文地址: https://www.cveoy.top/t/topic/mV3r 著作权归作者所有。请勿转载和采集!