SQL每日一题0001

1.SQL每日一题

同时满足上001和003课程的同学

CREATE TABLE F0215
(
StuID INT,
CID VARCHAR(10),
Course INT
)

INSERT INTO F0215 VALUES
(1,'001',67),
(1,'002',89),
(1,'003',94),
(2,'001',95),
(2,'002',88),
(2,'004',78),
(3,'001',94),
(3,'002',77),
(3,'003',90)
select * from f0215

(1)使用交集的方法关联查询

select SC.STUID
from F0215 SC
where SC.CID='001'
intersect
select SC.STUID
from F0215 SC
where SC.CID='003'

注:

INTERSECT操作符在SQL Server中用于返回两个查询结果中的共同记录。

INTERSECT操作符用于比较两个查询的结果,并返回两个查询中都存在的记录。这意味着,只有当某个记录同时出现在两个查询的结果中时,它才会被INTERSECT操作符选中。这种操作符在数据比较和筛选共同记录的场景中非常有用

(2)使用with虚拟表的方法关联查询

with X as (
select * from F0215
where CID='001')
select * from X left join F0215 t1 on X.STUID=t1.STUID
where t1.CID='003'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值