1. 程式人生 > 資料庫 >MySQL-實體對映關係和連線查詢

MySQL-實體對映關係和連線查詢

 一 資料庫實體的對映關係

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條件不變,輸出的結果不一樣。