当前位置: 代码迷 >> Sql Server >> 请问这句SQL语句何解
  详细解决方案

请问这句SQL语句何解

热度:66   发布时间:2016-04-27 13:18:17.0
请教这句SQL语句何解
SQL code
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语句 也是这样
SQL code
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 


------解决方案--------------------
就子查询的结果集 构造成虚拟表。
------解决方案--------------------
多表联合查询,方法不是唯一的,唯一不变的是目的!
  相关解决方案