程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL聯結表

MySQL聯結表

編輯:MySQL綜合教程

MySQL聯結表


聯結

SQL最強大的功能之一就是能在數據檢索查詢的執行中聯結表。而聯結表是基於關系表。理解關系表如下,假如由同一供應商生產的多種物品,在數據庫中需要存儲產品信息,而在產品信息的這一行不存儲供應商信息,因為這些產品的供應商是同一個,所以在產品信息這一行裡記錄一個唯一的供應商id就可以,供應商信息單獨的存儲一個表,並且也用為一個的id記錄。這樣,產品表與供應商表就通過 共同的供應商id連接起來了。如下表所示:
\

在vendors表中,vend_id稱為主鍵,products表中的vend_id為外鍵。
為什麼要用聯結表呢,將數據分解為多個表能夠更有效的存儲,更方便的處理,並且具有更大的可伸縮性。但是這些好處是有代價的。 如果數據存儲在多個表中,怎麼樣用單條SELECT語句檢索出數據?答案是使用聯結。簡單的說聯結是一種機制,用來在一條SELECT語句中關聯表,因此稱之為聯結。
下面的示例最主要的地方就是 vendZ喎?http://www.Bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcnMudmVuZF9pZCA9IHByb2R1Y3RzLnZlbmRfaWQsINTasci9z8qxyscgtNMgdmVuZG9yc7Ht1tDW8NK7xMOz9sO/0rvQ0KOs1eK49sO/0rvQ0NPrcHJvZHVjdHOx7dbQtcTL+dPQ0NC9+NDQsci9z6OsybjRobP2cHJvZHVjdHOx7dbQtcTC+tfjzPW8/rXEw7/Su9DQoaMKPGJyPgoKPGltZyBzcmM9"http://www.2cto.com/uploadfile/Collfiles/20140719/201407190859352.png" alt="\">

此外聯結表還可以用 INNER JOIN .. ON來表示,語句的作用與上面的示例是一樣的:
\

聯結多個表, 可以如下理解下例,WHERE的三個條件,第一個條件,產品表中的每一個產品都會有一個vend_id,所有這個條件不會過濾掉一些產品;第二個條件,處於訂單上的產品,應該是所有產品的一部分分;第三個條件,訂單編號為20005的產品;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved