mysql 列子查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 列子查询相关的知识,希望对你有一定的参考价值。

#案例:返回location_id是1400或1700的部门中的所有员工

SELECT  last_name
FROM employees 
WHERE department_id IN(

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

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

SELECT DISTINCT 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‘ ;

或者

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

#案例:返回其他工种中比job_id为‘IT_PROG‘部门所有工资低的员工的员工号、姓名、job_id和salary

SELECT DISTINCT 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 DISTINCT employee_id,last_name,job_id,salary
FROM employees
WHERE salary<(
    SELECT DISTINCT MIN(salary)
    FROM employees
    WHERE job_id=‘IT_PROG‘
) AND job_id <>‘IT_PROG‘ ;

以上是关于mysql 列子查询的主要内容,如果未能解决你的问题,请参考以下文章

mysql 标量子查询和非法子查询

MySQL------ 子查询

MySQL------ 子查询

子查询(MySQL)

数据库子查询 ---where或having后面----列子查询-多行子查询

mysql 子查询