三表的交集, 當然不是你那個圖.
現在這裡都不好貼Code了.
只好放張圖, 簡單測試就能知道的東西.
不好意思,我看不太懂
能否用小畫家,畫一下圖
應該一分鐘就可以畫完。
或是告訴我,我的圖哪裡錯了,
我再畫一張上來
看是否正確
謝謝
這樣對不對呢?你想想看吧....
你的意思是指下圖嗎?
可是這樣我覺得怪怪的
左邊的
右邊的語法跟結果如下:
select id as a_join_b
, null as a_join_c
from ithelp160620a
join ithelp160620b
using (id)
union all
select null as a_join_b
, id as a_join_c
from ithelp160620a
join ithelp160620c
using (id);
┌──────────┬──────────┐
│ a_join_b │ a_join_c │
├──────────┼──────────┤
│ 2 │ [Null] │
│ 3 │ [Null] │
│ 4 │ [Null] │
│ [Null] │ 3 │
│ [Null] │ 4 │
│ [Null] │ 5 │
│ [Null] │ 6 │
└──────────┴──────────┘
你要這麼思考,A先和B進行Join,A和B Join的結果再和C進行Join,最後就是A、B和C和交集結果。
謝謝指導
我猜您的圖表示了:
SELECT * FROM student AS a JOIN score AS b JOIN course AS c ON (a.stud_id = b.stud_id) OR (b.c_id = c.c_id);