淺談MySQL使用笛卡爾積原理進(jìn)行多表查詢
MySQL的多表查詢(笛卡爾積原理)
- 先確定數(shù)據(jù)要用到哪些表。
- 將多個(gè)表先通過笛卡爾積變成一個(gè)表。
- 然后去除不符合邏輯的數(shù)據(jù)(根據(jù)兩個(gè)表的關(guān)系去掉)。
- 最后當(dāng)做是一個(gè)虛擬表一樣來加上條件即可。
注意:列名最好使用表別名來區(qū)別。
笛卡爾積
Demo:
左,右連接,內(nèi),外連接
l 內(nèi)連接:
要點(diǎn):返回的是所有匹配的記錄。
select * from a,b where a.x = b.x ////內(nèi)連接
l 外連接有左連接和右連接兩種。
要點(diǎn):返回的是所有匹配的記錄 外加 每行主表外鍵值為null的一條記錄。輔表所有列為null值。
select * from a left join b on a.x=b.x order by a.x //左外連接或稱左連接 select * from a right join b on a.x=b.x order by a.x //右外連接或稱右連接
select子句順序
子句 | 說明 | 是否必須使用 |
select | 要返回的列或表示式 | 是 |
form | 從中檢索數(shù)據(jù)的表 | 僅在從表選擇數(shù)據(jù)時(shí)使用 |
where | 行級(jí)過濾 | 否 |
group by | 分組說明 | 僅在按組計(jì)算聚集時(shí)使用 |
having | 組級(jí)過濾 | 否 |
order by | 輸出排序順序 | 否 |
limit | 要檢索的行數(shù) | 否 |
到此這篇關(guān)于淺談MySQL使用笛卡爾積原理進(jìn)行多表查詢的文章就介紹到這了,更多相關(guān)MySQL的多表查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL8.0.27安裝過程中卡在Initializing?Database中并報(bào)錯(cuò)的解決
本文主要介紹了MySQL8.0.27安裝過程中卡在Initializing?Database中并報(bào)錯(cuò)的解決,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05mysql利用init-connect增加訪問審計(jì)功能的實(shí)現(xiàn)
下面小編就為大家?guī)硪黄猰ysql利用init-connect增加訪問審計(jì)功能的實(shí)現(xiàn)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-03-03MYSQL使用.frm恢復(fù)數(shù)據(jù)表結(jié)構(gòu)的實(shí)現(xiàn)方法
在這里我們探討使用.frm文件恢復(fù)數(shù)據(jù)表機(jī)構(gòu)(當(dāng)然如果你以前備份過數(shù)據(jù)表,你可以使用調(diào)用備份的數(shù)據(jù)表)2010-02-02MySQL Community Server壓縮包安裝配置方法
這篇文章主要為大家詳細(xì)介紹了MySQL Community Server壓縮包安裝配置方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11