[SQL ] SQL語法問題
※ [本文轉錄自 Examination 看板 #1INwnp3M ]
作者: Sunofgod ( ) 看板: Examination
標題: Re: [考題] 資料庫主鍵問題
時間: Thu Oct 17 17:22:57 2013
: P.S. 定義要看清楚,每個字每個符號都請了解意思...
: 今年高考好像滿多人因為定義的關係痛失分數...orz
感謝~後來有弄懂了
想在請教他最後一題連鎖題
附上題目http://ppt.cc/4BJi
第三小題
想得到一個表格
--------------------
EName DName
Bob HR
Joe Mis
Mary
--------------------
兩種SQL語法何者正確,若錯誤請寫出查詢結果
SQL1 SOL2
Select EName,DName Select EName,DName
From 員工任務,部門 From 員工任務,部門
Where 員工任務.DID=部門.DID Where 員工任務.DID=部門.DID
Or 員工任務.DID is Null Union
Order by EName,DName Select EName,DName
From 員工任務,部門
Where 員工任務.DID is Null
Order by EName,DName
-----------------------------------------------------------------------
SQL1-第一次看到Where裡面有Or的...應該是題目做的不夠多
但邏輯上可以理解。
SQL2我也認為是這樣
第一個查詢會得到
EName DName
Bob HR
Joe Mis
Union底下的查詢Where那裡沒有合併條件 會變成員工任務跟部門做卡氏基
然後選擇員工任務.DID為Null的後應該會得到
EName DName
Mary HR (來自Mary跟HR合併)
Mary Mis (來自Mary跟Mis合併)
Mary Sale (來自Mary跟Sale合併)
所以合併後是得到
EName DName
Bob HR
Joe Mis
Mary HR
Mary Mis
Mary Sale
不知道這樣想對不對
先謝謝各位以及先前熱心回答的板友
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.164.93.128
※ 編輯: Sunofgod 來自: 218.164.93.128 (10/17 17:24)
※ 發信站: 批踢踢實業坊(ptt.cc)
※ 轉錄者: Sunofgod (111.254.110.152), 時間: 10/20/2013 17:16:53
→
10/20 17:17, , 1F
10/20 17:17, 1F
推
10/20 19:46, , 2F
10/20 19:46, 2F
→
10/20 19:47, , 3F
10/20 19:47, 3F
→
10/20 20:37, , 4F
10/20 20:37, 4F
→
10/20 20:38, , 5F
10/20 20:38, 5F
→
10/20 20:38, , 6F
10/20 20:38, 6F
推
10/20 23:46, , 7F
10/20 23:46, 7F
→
10/20 23:47, , 8F
10/20 23:47, 8F
推
10/20 23:52, , 9F
10/20 23:52, 9F
→
10/20 23:52, , 10F
10/20 23:52, 10F
→
10/21 00:00, , 11F
10/21 00:00, 11F
Select EName,DName
From 員工任務 left outer join 部門 on 員工任務.DID=部門.DID
Order by EName,DName
應該這樣就可以了吧?!
如果把你的ISNULL(DNAME,'')拿掉應該也對?!
我真的沒在書上看過Where裡面有Or的 還真的不知道資料會怎麼跑...
沒想到竟然也是錯的
推
10/21 00:11, , 12F
10/21 00:11, 12F
→
10/21 00:13, , 13F
10/21 00:13, 13F
剛想到..是不是因為執行順序是From先
因此還是兩個表格先做卡氏積
所以在Or條件選擇is NULL時才會連那些部門也一起選取了
另外你提供的網址好棒...我一直在找這種網站可以自己跑資料看看
謝謝!!
※ 編輯: Sunofgod 來自: 111.254.110.152 (10/21 00:21)
推
10/21 01:14, , 14F
10/21 01:14, 14F
→
10/21 09:25, , 15F
10/21 09:25, 15F
討論串 (同標題文章)