子查询

本文介绍了SQL中的三种子查询类型:作为欲选取列的子查询、非关联子查询及关联子查询,并通过具体示例展示了如何使用这些子查询来增强SQL查询能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 作为欲选取列的子查询

select mc.first_name,mc.last_name
( select state
  from zip_code
  where mc.zip_code=zip_code)as state
from my_contacts mc;

如果子查询放在select语句中,用于表示某个欲选取的列,则一次只能从一列返回一个值。

2 非关联子查询

如果子查询可以独立运行且不会引用外层查询的任何结果,即称为非关联子查询。
非关联子查询使用IN或NOT IN来检查子查询返回的值是否为集合的成员之一。
子查询与自然联接的搭配使用
natural join

3 关联子查询

内层查询的解析需要依赖外层查询的结果

1 exists与 not exists

select mc.first_name,mc.last_name
from my_contacts mc
where exists
(select * from contact_interest ci 
 where mc.contact_id=ci.contact_id);

返回my_contacts表中 数据,其中contacts_id曾出现在contact——interest表中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值