現在有兩張表,一張Student
另一張Score
1、查詢每個學生及其選修課程的情況;
自然連接,Sno在Cscore中找不到就不顯示,Cno在Cscore中找不到也不顯示
SELECT Student.*,Score.* FROM Student,Score WHERE Student.Sno=Score.Sno;
2、查詢每個學生及其選修課程的情況; (包括沒有選修課程的學生);
學生的Sno在Score中沒有時,則課程Cscore補上NULL。
左外連接,以左Student為主,不足補NULL。
SELECT * FROM Student LEFT OUTER JOIN Score ON (Student.Sno = Score.Sno);
3、查詢每個學生及其選修課程的情況; (包括沒有學生選的選修課程);
課程的Cno在Student中沒有出現過,那么,相關列的Sno補齊NULL。
右外連接,以右Score為主,不足補NULL。
SELECT * FROM Student RIGHT OUTER JOIN Score ON (Student.Sno = Score.Sno);
4、查詢每個學生及其選修課程的情況;(包括沒有學生選的選修課程,包括沒有選修課程的學生)
外連接,Sno在Cscore中找不到就補齊NULL,Cno在Cscore中找不到也補齊NULL。
SELECT * FROM Student FULL OUTER JOIN Score ON (Student.Sno = Score.Sno);