首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql联接查询中,where关键字的位置

2012-09-16 
sql连接查询中,where关键字的位置最近一直在忙,也没有太多时间停留下来写博客。晚上遇到一个觉得很有趣的sq

sql连接查询中,where关键字的位置

最近一直在忙,也没有太多时间停留下来写博客。晚上遇到一个觉得很有趣的sql题,可能对初学者和我这种菜鸟会有帮助,所以决定分享给大家。

由于笔者天生笨拙,且思维不严谨,也实在不擅长写sql语句,高手请勿见笑,就请直接跳过本文吧。


背景就不多介绍了,先建表,插入测试数据吧。字段那些都有注释

SELECT  COUNT(nos.id) AS PersonNumSounceCOUNT , --总数        dct.ID ,        dct.NAME ,        dct.docNumber ,        nos.workTimeFROM    doctor AS dct        LEFT JOIN ( SELECT  *                    FROM    Nosource                    WHERE   DATEDIFF(day, GETDATE(), workTime) > 0                  ) AS nos ON dct.docNumber = nos.docNumberGROUP BY dct.ID ,        dct.NAME ,        dct.docNumber ,        nos.workTime

再执行一下,果然OK,是满足要求的结果。思路就是:只需要过滤右表,就将(使用子查询)过滤后的结果集作为连接查询的右表,然后再去连接,分组......


这样去解释,不知道大家是否能够理解,反正大致意思就是这样的。笔者的表达能力和水平确实有限,难免有偏差,望读者谅解!



本文出自http://blog.csdn.net/dinglang_2009,转载请注明出处。





热点排行