Fw: [SQL ] SQL語法不確定是否正確?

作者: fightforlive (學歷無用論是屁)   2016-03-29 22:38:48
※ [本文轉錄自 Database 看板 #1Mze4Q8U ]
作者: fightforlive (學歷無用論是屁) 看板: Database
標題: [SQL ] SQL語法不確定是否正確?
時間: Sat Mar 26 20:31:20 2016
資料庫名稱:
資料庫版本:
內容/問題描述:
SQL語法裡的NOT EXISTS讓我有點困擾
有兩個問題想請教一下
Q1. 下面的語法意思好像是"只要有王小明修課,就不會列出課程資訊"
http://imgur.com/gDGvS7z
如果要改成"列出王小明沒有修的課程資訊",應該要改成以下才對吧?
http://imgur.com/wFuF1AR
Q2. 所有關聯表格如下:
http://imgur.com/FqDfBeX
題目: 列出所有參與專案的供應商名稱
下面語法是否正確呢?
http://imgur.com/d5Eu3YP
謝謝~
作者: carthur (carthur51)   2016-03-30 08:57:00
子迴圈若沒有from course的話,Where條件會出錯。所以Q1的原題就是「列出王小明沒有修的課程資訊」。刮號內的子查詢會先處理,Q2會出錯,所以語法錯誤。而且題目問是有參與的,請把Not Exists改為Exists。
作者: scvxxx (罐)   2016-03-30 10:54:00
Q1是簡單子查詢,即"列出王小明沒有修的課程資訊"你下面改的應該是相關子查詢,意思結果相同,但SQL內部處理不同吧
作者: carthur (carthur51)   2016-03-30 11:47:00
Q2解法2:Select 供應商名稱 From 供應商Where 供應商.供應商代號 In (Select 供應商代號 From 專案供應零件, 專案Where 專案供應零件.專案代號=專案.專案代號 )所以,Where條件範圍,必須先From該表單才能使用。

Links booklink

Contact Us: admin [ a t ] ucptt.com