多行子查询练习

多行子查.png
#列子查询(多行子查询)


#返回location_id 是1400或1700的部门员工姓名


#①查询location_id 是1400或1700的部门编号
SELECT DISTINCT department_id FROM `departments`
WHERE location_id IN(1400,1700)


#② 
SELECT   e.first_name,  e.department_id
FROM employees e
WHERE e.department_id IN (SELECT DISTINCT department_id FROM `departments`
WHERE location_id IN (1400,1700))


#案例2:返回其他部门中比job_id 为‘IT_PROG’ 部门任一工资低的员工的工号、姓名、job_id 以及salary

#①   获取job_id 为 it_prog
SELECT salary 
FROM employees 
WHERE job_id  = 'IT_PROG'

#②  员工的工号、姓名、job_id 以及salary
SELECT  first_name, employee_id,job_id,salary
FROM employees 
WHERE salary >ANY(
SELECT salary 
FROM employees 
WHERE job_id  = 'IT_PROG'

) AND job_id <> 'IT_PROG'


#案例2:返回其他部门中比job_id 为‘IT_PROG’ 部门任一工资所有的员工的工号、姓名、job_id 以及salary

SELECT  first_name, employee_id,job_id,salary
FROM employees 
WHERE salary >ALL(
SELECT salary 
FROM employees 
WHERE job_id  = 'IT_PROG'

) AND job_id <> 'IT_PROG'

#或

SELECT  first_name, employee_id,job_id,salary
FROM employees 
WHERE salary >(
SELECT MIN(salary)  
FROM employees 
WHERE job_id  = 'IT_PROG'
) AND job_id <> 'IT_PROG'


# 行子查询(结果集一行多列或多行多列)
# 查询员工编号最小并且工资高的员工信息

SELECT  MIN(employee_id)
FROM employees

SELECT MAX(salary) FROM  employees

SELECT * FROM employees
WHERE employee_id = (
SELECT  MIN(employee_id)
FROM employees
) AND salary = (
SELECT MAX(salary) FROM  employees
)


#行子查询
SELECT * FROM employees
WHERE (employee_id,salary) = (
SELECT MIN(employee_id),MAX(salary)
FROM employees
)


/**
from 后面
将子查询结果充当一张表,要求必须起别名
*/

# 四 exists 后面 (相关子查询)
SELECT EXISTS(SELECT employee_id FROM employees
WHERE salary = 300000
)
/*
exists 完整的查询语句
结果
1 或 0
*/

#案例1:查询员工和部门名 
SELECT department_name
FROM departments d
WHERE EXISTS(
SELECT  *FROM employees  e
WHERE e.department_id= d.department_id
)

SELECT d.department_name
FROM departments d
WHERE d.department_id IN (
SELECT department_id 
FROM employees
)


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容