日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

数据库多表连接

發布時間:2024/1/17 数据库 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据库多表连接 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.在多表查詢中,一些SQL開發人員更喜歡使用WHERE來做join,比如:

SELECT A.ID AS aid,B.ID AS bid FROM A,B WHERE A.`ID` = B.ID

缺點:在上面語句中,實際上是創建了兩張表的笛卡爾積,所有可能的組合都會被創建出來。在笛卡爾連接中,在上面的例子中,如果有1000顧客和1000條銷售記錄,這個查詢會先產生1000000個結果,然后通過正確的 ID過濾出1000條記錄。 這是一種低效利用數據庫資源,數據庫多做100倍的工作。 在大型數據庫中,笛卡爾連接是一個大問題,對兩個大表的笛卡爾積會創建數10億或萬億的記錄。

為了避免創建笛卡爾積,應該使用INNER JOIN :

SELECT A.ID AS aid,B.ID AS bid FROM A INNER JOIN B ON A.`ID` = B.ID

優點:如上面語句,使用inner join 這樣數據庫就只產生等于ID 的1000條目標結果。增加了查詢效率。

有些數據庫系統會識別出 WHERE連接并自動轉換為 INNER JOIN。在這些數據庫系統中,WHERE 連接與INNER JOIN 就沒有性能差異。但是, INNER JOIN 是所有數據庫都能識別的,因此DBA會建議在你的環境中使用它。

INNER JOIN(內連接,或等值連接):獲取兩個表中字段匹配關系的記錄。 LEFT JOIN(左連接):獲取左表所有記錄,即使右表沒有對應匹配的記錄。 RIGHT JOIN(右連接): 與 LEFT JOIN 相反,用于獲取右表所有記錄,即使左表沒有對應匹配的記錄。

注意:?
1、INNER JOIN 等同于 JOIN;?
2、示意圖:?

?

作業:

?

轉載于:https://www.cnblogs.com/python-machine/p/6913966.html

總結

以上是生活随笔為你收集整理的数据库多表连接的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。