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


  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

要檢索的行數


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM