MySQL-實體對映關係和連線查詢
阿新 • • 發佈:2020-12-17
一 資料庫實體的對映關係
1. 一對一:學生表和學生檔案表,一個學生只有一個對應的檔案。
2. 一對多/多對一:一個球隊友多個球員(一對多),多個球員屬於一個球隊(多對一)
3. 多對多:一個學生可以選多門課程,一門課程可以被多個學生選修。
二 連線查詢
1. 交叉連線 cross join
建表如下:
結果:等於笛卡爾積,行數=表A行數*表B行數,列數=select 的列數
2. 內連線:...a inner join b on a.aa = b.bb...
建表如下:
結果:只取符合on 過濾條件的結果。結果行數與連線的表格行數沒有半毛錢關係,可>/=/<。列數=列數=select 的列數
3. 左外連線:...a left join b on a.aa = b.bb...
使用 2.內連線 的表
結果:行數>=左錶行數,列數=select 的列數。左表的記錄都在(且可能重複),當右表沒有與左邊對應的記錄時,則置NULL。
如下,將左右表調換,on條件不變,輸出的結果不一樣。