数据库子查询

子查询的语法结构:

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 无意义,逻辑上也不成立。











  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值