資料庫之自身連線與外連線
阿新 • • 發佈:2019-02-12
假設有一個數據表為Course:
Cno為課程號,Cname為課程名,CPno為上這門課程之前必須學習的的課程號:
查詢每一門課的間接先修課(即先修課的先修課)。
SELECT A.Cno, A.Cname, B.Cpno
FROM Course A, Course B
WHERE A.Cpno =B.Cno;
自身連線:自己的表格與自己的表格連線:設為Course A 與Course B就行了,用來做區分的:
外連線:
假設有這樣的兩個表格:Student與 SC表 Student為所有的學生,而SC表為學生的選課表,我們可以知道王敏和張力沒有選課,當使用Student.Sno=Sc.Sno的條件時,我們會發現無法出現王敏和張立的資訊
例如我們使用這樣的查詢語句:
只會出現這樣的表格,完全沒有王敏和張立的資訊了:
所以此時我們可以這樣使用:
SELECT Student.Sno, Sname, Ssex, Sdept, Cno, Grade
FROM Student
LEFT JOIN SC ON
Student.Sno= SC.Sno;
就會出現這樣的情況:
即使就算王敏和張立沒有選課,也會出現她們的資訊來: