0

コース セクションを教えたことのないインストラクターのリストを提供しようとしています。

まず、コースセクションを教えたインストラクターのリストを選択します

SELECT w.COURSE_NO
FROM INSTRUCTOR z , SECTION w
WHERE z.INSTRUCTOR_ID = w.INSTRUCTOR_ID

しかし、それを教えたことのないリストを提供すると、行またはエラーが表示されません

SELECT SALUTATION, FIRST_NAME, LAST_NAME,ZIP
FROM INSTRUCTOR,SECTION
WHERE COURSE_NO NOT IN
(SELECT w.COURSE_NO
FROM INSTRUCTOR z , SECTION w
WHERE z.INSTRUCTOR_ID = w.INSTRUCTOR_ID)
ORDER BY SALUTATION, FIRST_NAME, LAST_NAME,ZIP;

教えたことのないインストラクターのリストを提供するにはどうすればよいですか?

4

1 に答える 1

1

プリンシパルクエリに結合述語を入れるのを忘れたと思います:

SELECT SALUTATION, FIRST_NAME, LAST_NAME,ZIP
FROM INSTRUCTOR a,SECTION b 
WHERE a.INSTRUCTOR_ID = b.INSTRUCTOR_ID AND COURSE_NO NOT IN
    (SELECT w.COURSE_NO
    FROM INSTRUCTOR z , SECTION w
    WHERE z.INSTRUCTOR_ID = w.INSTRUCTOR_ID)
ORDER BY SALUTATION, FIRST_NAME, LAST_NAME,ZIP;

ANSI-92 を使用してみてください。

SELECT SALUTATION, FIRST_NAME, LAST_NAME,ZIP
FROM INSTRUCTOR a
INNER JOIN SECTION b ON a.INSTRUCTOR_ID = b.INSTRUCTOR_ID
WHERE COURSE_NO NOT IN
    (SELECT w.COURSE_NO
    FROM INSTRUCTOR z
    INNER JOIN SECTION w ON z.INSTRUCTOR_ID = w.INSTRUCTOR_ID
    ) 
ORDER BY SALUTATION, FIRST_NAME, LAST_NAME,ZIP;
于 2013-10-16T20:38:16.967 に答える