インストラクターと同じ郵便番号に住んでいる学生を教えているインストラクターを取得しようとしています。
最初に、intersect を使用して学生と講師が共有している郵便番号を見つけました。
SELECT DISTINCT FIRST_NAME,LAST_NAME,PHONE
FROM INSTRUCTOR
WHERE ZIP IN (
SELECT ZIP
FROM STUDENT
INTERSECT
SELECT ZIP
FROM INSTRUCTOR
);
上記のクエリのどこにあるすべての学生の section_id をどのように見つけることができますか?
SELECT SECTION_ID
FROM STUDENT s
JOIN ENROLLMENT e ON s.STUDENT_ID = e.STUDENT_ID
JOIN SECTION w ON e.SECTION_ID = w.SECTION_ID
JOIN INSTRUCTOR z ON w.INSTRUCTOR_ID = z.INSTRUCTOR_ID;
INSTRUCTOR_ID.SECTION_ID = STUDENT_ID SECTION_ID のような内部クエリを取得する方法がわかりません。
現在、クエリでその郵便番号に住んでいたすべての教師を返すだけですが、その郵便番号のインストラクターが教えているセクションを受講している学生も確認する必要があります....
SELECT DISTINCT FIRST_NAME,LAST_NAME,PHONE
FROM
(
SELECT FIRST_NAME,LAST_NAME,PHONE,ZIP
FROM STUDENT
)
Derived
WHERE ZIP IN (
SELECT ZIP
FROM STUDENT
INTERSECT
SELECT ZIP
FROM INSTRUCTOR
);