请教这句SQL语句何解

nickNameOccupied 2012-04-16 06:30:11
select NAME from card  JOIN  (SELECT CNO FROM BORROW 
join BOOKS on BORROW.BNO=BOOKS.BNO WHERE BNAME in ('计算方法','组合数学')
group by CNO having count(BORROW.BNO)=2 )BORROW ON card.CNO=BORROW.CNO

这个语句之行出来是正确的,但是不理解为何将括号里的子查询放在 join 后面
或者 这个sql语句 也是这样
select s.sno,s.snamefrom s,(select sc.sno  from sc,cwhere sc.cno=c.cnoand c.cname in('1','2')group by sno  having count(distinct cno)=2)sc where s.sno=sc.sno 
...全文
64 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
APHY 2012-04-16
  • 打赏
  • 举报
回复
多表联合查询,方法不是唯一的,唯一不变的是目的!
Felixzhaowenzhong 2012-04-16
  • 打赏
  • 举报
回复
就子查询的结果集 构造成虚拟表。

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧