列子查询(多行子查询)

多行子查询
返回多行。
使用多行比较操作符。
操作符 含义
IN/NOT IN 等于列表中的任意一个
ANY|SOME 和子查询返回的某一个值比较
ALL 和子查询返回的所有值比较
案例1:返回location_id是1400或1700的部门中的所有员工姓名
1.查询location_id是1400或1700的部门编号

SELECT DISTINCT department_id
FROM departments
WHERE location_id IN(1400,1700) ;

2.查询员工姓名,要求部门号是1. 列表中的某一个

SELECT last_name
FROM employees
WHERE department_id IN(
						SELECT DISTINCT department_id
						FROM departments
						WHERE location_id IN(1400,1700) ;
						);SELECT last_name
FROM employees
WHERE department_id =ANY(
						SELECT DISTINCT department_id
						FROM departments
						WHERE location_id IN(1400,1700) ;
						);
不是1. 中的某一个
SELECT last_name
FROM employees
WHERE department_id NOT IN(
						SELECT DISTINCT department_id
						FROM departments
						WHERE location_id IN(1400,1700) ;
						);SELECT last_name
FROM employees
WHERE department_id <>ALL(
						SELECT DISTINCT department_id
						FROM departments
						WHERE location_id IN(1400,1700) ;
						);

案例2:返回其它工种中比job_id为’IT_PROG’部门任一工资低的员工的员工号、姓名、job_id 以及salary
1.查询出job_id为’IT_PROG’部门的员工的工资

SELECT DISTINCT salary
FROM employees
WHERE job_id = 'IT_PROG';

2.查询员工的工号、姓名、job_id 以及salary,要求是salary比1. 低

SELECT employee_id,last_name,job_id,salary
FROM employees
WHERE salary < ANY(
					SELECT DISTINCT salary
					FROM employees
					WHERE job_id = 'IT_PROG';
					)
		AND job_id<>'IT_PROG';

案例3:返回其它部门中比job_id为’IT_PROG’部门所有工资都低的员工的员工号、姓名、job_id以及salary

SELECT employee_id,last_name,job_id,salary
FROM employees
WHERE salary < ALL(
					SELECT DISTINCT salary
					FROM employees
					WHERE job_id = 'IT_PROG';
					)
		AND job_id<>'IT_PROG';SELECT employee_id,last_name,job_id,salary
FROM employees
WHERE salary < (
					SELECT MIN(salary)
					FROM employees
					WHERE job_id = 'IT_PROG';
					)
		AND job_id<>'IT_PROG';
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值