好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > sql連接查詢中,where關鍵字的位置講解

sql連接查詢中,where關鍵字的位置講解

熱門標簽:貴州外呼回撥系統是什么 安陽天音防封電銷卡 外呼系統的話術 云南全自動外呼系統公司 智能外呼系統需要多少錢 衛星地圖標注距離 陽光創信ai外呼獲客系統助力 競圣地圖標注服務 智能語音車載電話機器人

由于筆者天生笨拙,且思維不嚴謹,也實在不擅長寫sql語句,高手請勿見笑,就請直接跳過本文吧。

背景就不多介紹了,先建表,插入測試數據吧。字段那些都有注釋

復制代碼 代碼如下:

--醫生表
CREATE TABLE doctor
    (
      id INT IDENTITY(1, 1) , --ID 自增長
      docNumber NVARCHAR(50) NOT NULL , --醫生編碼
      NAME NVARCHAR(50) NOT NULL   --醫生姓名
    )
go

--插入測試數據
INSERT  INTO doctor
VALUES  ( '007', 'Tom' )
INSERT  INTO doctor
VALUES  ( '008', 'John' )
INSERT  INTO doctor
VALUES  ( '009', 'Jim' )


--號源表(掛號表)
CREATE TABLE Nosource
    (
      id INT IDENTITY(1, 1) ,
      docNumber NVARCHAR(50) NOT NULL , --和醫生表中的醫生編碼對應
      workTime DATETIME NOT NULL
    )

go
--插入測試數據
INSERT  INTO Nosource
VALUES  ( '007', '20120819' )
INSERT  INTO Nosource
VALUES  ( '007', '20120820' )
INSERT  INTO Nosource
VALUES  ( '007', '20120821' )
INSERT  INTO Nosource
VALUES  ( '008', '20120821' )


表建好之后,測試數據也OK。下面開始說需求啦。

1.查出每位醫生的相關信息,以及該醫生所擁有的號源數量。

這簡直太簡單了,可能連剛學會helloWorld和一點點數據庫基礎的朋友都會嚴重真心BS。不過代碼還是寫出來。

復制代碼 代碼如下:

--簡單的分組查詢即可搞定
SELECT  COUNT(nos.id) AS PersonNumSounceCOUNT , --總數
        dct.ID AS docID ,
        dct.NAME ,
        dct.docNumber ,
        nos.workTime
FROM    doctor AS dct
        LEFT JOIN Nosource AS nos ON dct.docNumber = nos.docNumber
GROUP BY dct.ID ,
        dct.NAME ,
        dct.docNumber ,
        nos.workTime

確實簡單啊。一個小小的分組就能搞定的。還賣什么關子呢。

那現在需求改變,需要按條件去匹配:要求號源表的workTime大于當前日期才算有效的,否則就不匹配。
如果workTime條件不匹配的醫生,對應的PersonNumSounceCOUNT字段的值應為0 ;例如:Jim醫生沒有匹配和符合條件的號源,其PersonNumSounceCOUNT字段值應為0。抬頭仰望天空40度,想想能夠用where關鍵字過濾,然后一次性查詢出來嗎?試試吧。

復制代碼 代碼如下:

SELECT  COUNT(nos.id) AS PersonNumSounceCOUNT , --總數
        dct.ID ,
        dct.NAME ,
        dct.docNumber ,
        nos.workTime
FROM    doctor AS dct
        LEFT JOIN Nosource AS nos ON dct.docNumber = nos.docNumber
WHERE   DATEDIFF(day, GETDATE(), nos.workTime) > 0
GROUP BY dct.ID ,
        dct.NAME ,
        dct.docNumber ,
        nos.workTime

相信有人會寫出上面的代碼來。可是執行查詢后,發現完全不符合要求啊。連Jim醫生的基本信息和表記錄也都被過濾掉了,不見了。咋回事啊?

原因很簡單嘛。在連接查詢的后面使用"where"關鍵字,會過濾連接查詢的結果集中的數據。由于右表(號源表)的條件不匹配,也會導致左表(醫生表)的數據被過濾掉。

所以,會出現以上的現象(Jim醫生的信息和記錄都不見了)。要想一次性查出來可能嗎?到底該如何去實現呢?

其實,正確的寫法應該是這樣的:

復制代碼 代碼如下:

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

再執行一下,果然OK,是滿足要求的結果。思路就是:只需要過濾右表,就將(使用子查詢)過濾后的結果集作為連接查詢的右表,然后再去連接,分組......

其實編寫簡潔而高性能的sql語句,是需要很強的邏輯思維能力(和數學分不開)和經驗的。還有種更簡單的寫法:

復制代碼 代碼如下:

SELECT  sum(case when nos.workTime>getdate then 1 else 0 end) AS PersonNumSounceCOUNT , --總數
dct.ID AS docID ,
dct.NAME ,
dct.docNumber
FROM    doctor AS dct
LEFT JOIN Nosource AS nos ON dct.docNumber = nos.docNumber
GROUP BY dct.ID ,
dct.NAME ,
dct.docNumber

這樣去解釋,不知道大家是否能夠理解,反正大致意思就是這樣的。筆者的表達能力和水平確實有限,難免有偏差,望讀者諒解!

您可能感興趣的文章:
  • SQL語句的各個關鍵字的解析過程詳細總結
  • sql中的left join及on、where條件關鍵字的區別詳解
  • Mysql帶And關鍵字的多條件查詢語句
  • MySQL單表多關鍵字模糊查詢的實現方法
  • MySQL 5.7中的關鍵字與保留字詳解
  • sql server關鍵字詳解大全(圖文)
  • SQL中一些小巧但常用的關鍵字小結

標簽:河源 寧夏 鄂爾多斯 湘潭 周口 欽州 營口 預約服務

巨人網絡通訊聲明:本文標題《sql連接查詢中,where關鍵字的位置講解》,本文關鍵詞  sql,連接,查詢,中,where,關鍵字,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《sql連接查詢中,where關鍵字的位置講解》相關的同類信息!
  • 本頁收集關于sql連接查詢中,where關鍵字的位置講解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 99久久久国产精品免费播放器| 白俄罗斯大bbwass| 在线成人tv天堂中文字幕| 小草久久久久久久久爱六| DH中字人妻被下药遭疯狂玩弄| 91精品一区二区三区四区| 男人桶女下面60分钟视频| 男女强吻摸屁股的视频| 国产91极品福利手机观看| xxx69videotube| 女人被男人强的视频| 男女啪啪小视频| 亚洲综合无码久久日日网址 | 免费xnxx日本老师| 性色av蜜臀av色欲av| 扒开腿挺进肉嫩小泬喷水网站| 成人影片| 主人让我真空露出调教视频 | 色情无码片a一区二区| 男人桶爽女人30分钟视频| 深深视频| 玖玖在线直播| 护士无码一区二区三区| 欧美zc0o人与善交欧美伦埋片| 巨大一下一寸挤进校花| 超级翁婿小说全集| 羞羞视频免费| 原神?原神18禁漫画同人| 亚洲天天做日日做天天爽| 曰本人做爰大片免费观看一区二区| 国产黄色大片又色又爽| 女仆被主人调教跪着打屁股| 昨晚听到闺蜜的叫床声| 水多多凹凸福利视频导航| 爱唯侦察1024工厂最新消息列表| 邻居丰满的奶水在线HD| 精品视频一区二区三三区四区| 国产成人aaa在线视频免费观看| 成品煮伊在2021一二三久| 无码毛片久久久国产传媒| 嗯嗯好爽啊|