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