資料庫內連線與外連線(自我理解 深刻)

2021-10-24 16:50:34 字數 667 閱讀 4981

資料庫內連線限制較多,要求連線的關係表之間必有一一行對應關係,不然容易出現一對多產生長幅資料表,如下圖:

要求每位學生選擇一門課程,則兩表匹配後會出現sx關係表情況,事實上匹配結果已經超出邏輯範圍。

如若學生id對應選課表內課程id,且作為匹配條件,即可消除笛卡爾積,實現一一對應。

sql語句是:

select s.id,s.name,x.id,x.course from student s inner join course x on s.id=x.id;
sql語句中,為了便於區分各**標籤,使用了表別名s,x。

左連線與右連線是對應關係,意在規定主表位置,連線時以主表為連線依據,如若從表沒有對應資料則以null值連線表示

語句為

select s.sname,c.courseid,c.score from student s left

join score c on s.scode=c.studentsid;

資料庫 內連線 外連線 左連線

總結 內連線 僅僅顯示匹配的行 外連線 設法顯示不匹配的行,包括左 外 連線 右 外 連線 全 外 連線 左 外 連線 左表的行全顯示 右表不存在匹配時填null 右 外 連線 右表的行全顯示 左表不存在匹配時填null 全 外 連線 左連線和右連線的結果再做合併 union sql ansi的寫法...

資料庫內連線和外連線

資料庫中涉及兩個表之間的資料查詢通常使用連線的方法實現。連線分為內連線和外連線。內連線 指連線結果僅包含符合連線條件的行,參與連線的兩個表都應該符合連線條件。外連線 連線結果不僅包含符合連線條件的行同時也包含自身不符合條件的行。包括左外連線 右外連線和全外連線。左外連線 左邊表資料行全部保留,右邊表...

資料庫 內連線 左外連線 右外連線 全外連線

內連線中,只有滿足連線條件的元組才能作為結果輸出,即當任乙個表中為null則不會輸出。sql 語句 123 select first.cno,second.cpno from course first,course second where first.cpno second.cno 如果在查詢時需...