mysql 多对多数据的查询

Sid Sname
001 小王
002 小李
003 小张
004 小刘

Tid Tname
001 数学
002 语文
003 英语

Sid Tid
001 001
001 002
001 003
002 001
002 002
003 003

1.查询同时选修了数学和语文(不包含英语)的学生姓名
答:select * from table1 where sid in (select Sid from table3 where Tid=001 and Tid=002) group by sid
2 查询至少选修了语文和数学(可能包含英语)的学生姓名
答:select * from table1 where sid in (select Sid from table3 where Tid=001 and Tid=002 or Tid=003) group by sid
3 查询没有选修语文和数学的学生姓名
答:select * from table1 where sid in(select Sid from table3 where Tid=003) group by sid

转载于:https://www.cnblogs.com/beorht/archive/2012/03/25/2417192.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值