0
我想獲得從未教過課程部分的導師名單。NOT IN子查詢返回沒有結果
我第一選擇,我得到一堆誰教一門課程
SELECT w.COURSE_NO,z.SALUTATION, z.FIRST_NAME, z.LAST_NAME,z.ZIP
FROM INSTRUCTOR z , SECTION w
WHERE z.INSTRUCTOR_ID = w.INSTRUCTOR_ID;
但是當我不這樣我可以看到什麼教練從來沒有教過的課程部分它沒有給我行的結果。
SELECT a.SALUTATION, a.FIRST_NAME, a.LAST_NAME,a.ZIP
FROM INSTRUCTOR a,SECTION b
WHERE a.INSTRUCTOR_ID = b.INSTRUCTOR_ID AND b.COURSE_NO NOT IN
(SELECT w.COURSE_NO
FROM INSTRUCTOR z , SECTION w
WHERE z.INSTRUCTOR_ID = w.INSTRUCTOR_ID)
ORDER BY a.SALUTATION, a.FIRST_NAME, a.LAST_NAME,a.ZIP;
爲什麼當我試圖選擇那些從來沒有一個課程節的時候,它給了我沒有行?
檢查有關'LEFT JOIN' – zerkms
它給你0行,因爲你的子查詢,你的主要查詢具有相同的條件和加盟,這意味着它們返回相同的結果。您的查詢變爲'select * from不在(從id中選擇id)'的位置。您的查詢不正確。你能發佈樣本數據(原始和預期結果)嗎? – Ben
它應該是'WHERE INSTRUCTOR NOT IN(SELECT INSTRUCTOR ...)',子查詢返回已經教過某部分的教師列表。 – Barmar