mysql子查询是什么_mysql子查询

1. 什么是子查询

​ 当一个查询是另一个查询的条件时,这个查询称之为子查询(内层查询)

​ 什么时候用?

​ 当查询需求比较复杂,一次性查询无法得到结果,需要多次查询时,

​ 例如:给出一个部门名称,需要获得该部门所有的员工信息

​ 分析:

​ 1.需要先确定部门的id

​ 2.然后才能通过id确定员工

​ 解决问题的方式是把一个复杂的问题拆分为若干个简单的问题

2. 如何使用?

首先明确子查询就是一个普通的查询,当一个查询需要作为子查询使用时,用括号包裹即可

3. 需要注意

​ in中的子查询只能包含一个列

​ 例如:查询财务部有哪些人

实例1:

​ 正确的写法:select name from emp where dept_id in (select id from dept where name = "财务");

​ 错误的写法:select name from emp where dept_id in (select * from dept where name = "财务");

关键字:exists

exists后跟子查询,子查询有结果是为True,没有结果时为False。为True时外层执行,为False外层不执行

如何使用?

实例2:

select from emp where exists (selectfrom emp where salary > 1000);

前面 exists 后面

如果 后面 查询有结果时,前面 才会执行

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值