mysql嵌套查询 in_mysql笔记(8)-嵌套查询之in、exists

本文详细介绍了MySQL中嵌套查询的两种常见方式——IN和EXISTS。通过具体示例,解释了如何使用IN从句筛选单个或多个属性,并讨论了EXISTS从句的工作原理及其在查询中的应用。
摘要由CSDN通过智能技术生成

本文将简单介绍in从句和exists从句在嵌套查询中的用法

当我们需要使用嵌套查询来完成更复杂的检索时

可以在where从句内添加in或exists从句

一、in

1、单个属性待筛选

在这种情况下,in从句的格式为

select xxx

from table_name

where column_name in

(select xxx

from xxx);

下面用一个具体的例子来说明:

c2adae12cc3e135bc76e9d393cdfa98e.png

在section(排课)表中,我们想找出 在2009年秋季和2010年春季都有开课的课程id

select distinct course_id

from section

where semeter='Fall' and year=2009 and

course_id in

(select course_id

from section

where semeter='Spring' and year=2010);

同理可得

如果我们想找出 在2009年秋季开课 但不在2010年春季开课的课程id

只需要在in之前添加 not 即可

执行顺序的说明:

在上述查询中

数据库系统将会先执行in从句内的查询

也就是说 先返回一张临时表(表内是

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值