1
SELECT C.COURSE_ID, TITLE, A.STUDENT_ID, COMPANY_ID, AD.ADDRESS
FROM COURSE C, STUDENT S, ADDRESS AD, ATTENDANCE A
WHERE C.COURSE_ID = AD.COURSE_ID
AND AD.ADDRESS = A.ADDRESS
AND A.STUDENT_ID = S.STUDENT_ID
AND COMPANY_ID IS NOT NULL;

我有 4 个表,这个查询完成了它所需要的一切,除了我必须包含出勤表中不存在的地址。例如

ADDRESS TABLe          ATTENDANCE table
Address                  Address
  a                         a
  b                         b
  c
  d

所以我希望最终结果显示:

COURSE ID    TITLE   STUDENT_ID   COMPANT_ID   ADDRESS
   BLA        BLA      BLA         BLA           a
   BLA        BLA      BLA         BLA           b
   BLA        BLA      BLA         BLA           c
   BLA        BLA      BLA         BLA           d

虽然上面的查询显示了相同的结果,但不包括“地址”列中的 c 和 d。

对不起,如果我不够清楚。谢谢

4

1 回答 1

2

如果您将查询更改为使用LEFT JOIN连接ATTENDANCE表,它将排除ADDRESS表中不存在的所有记录

于 2012-07-04T23:57:03.793 回答