1. 程式人生 > 其它 >MySQL的多表查詢(笛卡爾積原理) -1

MySQL的多表查詢(笛卡爾積原理) -1

  1. 先確定資料要用到哪些表。
  2. 將多個表先通過笛卡爾積變成一個表。
  3. 然後去除不符合邏輯的資料(根據兩個表的關係去掉)。
  4. 最後當做是一個虛擬表一樣來加上條件即可。

注意:列名最好使用表別名來區別。

笛卡爾積

Demo:

左,右連線,內,外連線

l內連線:

要點:返回的是所有匹配的記錄。

  1. 2.select * from a,b where a.x = b.x ////內連線

l外連線有左連線和右連線兩種。

要點:返回的是所有匹配的記錄 外加 每行主表外來鍵值為null的一條記錄。輔表所有列為null值。

  1. select * from a left join b on a.x=b.x order by a.x
    //左外連線或稱左連線
  2. select * from a right join b on a.x=b.x order by a.x//右外連線或稱右連線

select子句順序

子句

說明

是否必須使用

select

要返回的列或表示式

form

從中檢索資料的表

僅在從表選擇資料時使用

where

行級過濾

group by

分組說明

僅在按組計算聚集時使用

having

組級過濾

order by

輸出排序順序

limit

要檢索的行數