笛卡爾積
多表查詢,表名之間要用逗號隔開。這樣將多張表里面的數(shù)據(jù)全部查出來,查出來的方式就是笛卡爾積的方式(完全組合)
這樣查出來的數(shù)據(jù),有很多是無效的數(shù)據(jù)。可以給多表查詢增加條件,查到想要的信息。
內(nèi)連接
可以通過在設(shè)計數(shù)據(jù)庫的時候,表與表之間的關(guān)聯(lián)屬性,過濾出有有效的信息。
顯式內(nèi)連接
SELECT?*?FROM?employee?AS?e1,enterprise?AS?e2?WHERE?e1.enterpriseId-e2.id;
隱式內(nèi)連接
SELECT?*?FROM?employee?e1?INNER?JOIN?enterprise?e2?ON?e1.enterpriseId=e2.id;
隱式內(nèi)連接和顯式內(nèi)連接沒有本質(zhì)區(qū)別。
相關(guān)推薦:《Navicat for mysql使用圖文教程》
外連接
以一張表為基礎(chǔ),將這張表中的所有數(shù)據(jù)全部查出來,然后跟另外一張表有關(guān)聯(lián),如果關(guān)聯(lián)到則顯示其信息,如果沒有關(guān)聯(lián)則不顯示為NULL。
左外連接
SELECT?*?FROM?employee?e1?LEFT?JOIN?enterprise?e2?ON?e1.enterpriseId=e2.id;
右外連接
SELECT?*?FROM?employee?e1?RIGHT?JOIN?enterprise?e2?ON?e1.enterpriseId=e2.id;
表的別名
使用表的別名有兩種原因:
1.為了方便、簡潔。
2.如果是從重復(fù)的表中進(jìn)行多表查詢,則必須使用別名。
使用別名的方式有兩種:
1.直接在表的名字后面加個空格,然后起新的名字。
SELECT?*?FROM?employee?e1,enterprise?e2?WHERE?e1.enterpriseId-e2.id;
2.as與直接起名沒有區(qū)別? 但是看起來比較規(guī)范sql語句會比較容易查看。
SELECT?*?FROM?employee?AS?e1,enterprise?AS?e2?WHERE?e1.enterpriseId-e2.id;
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載。
THE END
喜歡就支持一下吧
相關(guān)推薦