当前位置:Gxlcms > mysql > 数据库子查询

数据库子查询

时间:2021-07-01 10:21:17 帮助过:121人阅读

子查询的语法结构: SELECT 查询列 FROM 表名 WHERE 列名操作符 (SELECT 查询列 FROM 表名); 子查询可以写在WHERE,HAVING,FROM子句中; 单行子查询 : 子查询 返回的记录只有一条(要求使用以下操作符) 大于、=大于等于、小于、=小于等于 、=、 eg:select

子查询的语法结构:

SELECT 查询列
FROM 表名
WHERE 列名操作符
(SELECT 查询列
FROM 表名);

子查询可以写在WHERE,HAVING,FROM子句中;


单行子查询子查询 返回的记录只有一条(要求使用以下操作符)

>大于、>=大于等于、<小于、<=小于等于 、=、<>

eg:select * from emp where sal > (select sal from emp where empno = 7566);


多行子查询:子查询返回的记录条数可以使一条或多条(常用的操作符如下)

IN:

eg:select * from emp t where t.deptno in(30,40)

ANY:表示任意的。
– < ANY 比子查询返回的任意一个结果小即可,即小于返回结
果的最大值。
– = ANY 和子查询中任意一个结果相等即可,相当于IN。
– > ANY比子查询返回的任意一个结果大即可,即大于返回结
果的最小值。

eg:

select employee_id, last_name, job_id, salary
from employees
where salary > ANY
(select salary
from employees
where department_id = 80)
and department_id <> 80;
ALL:表示所有的。
– < ALL 比子查询返回的所有的结果都小,即小于返回结果的
最小值。
– > ALL比子查询返回的所有的结果都大,即大于返回结果的
最大值。
– = ALL 无意义,逻辑上也不成立。












人气教程排行