聯結表
mysql是一種關聯式資料庫,所謂關係就是指把資料分解為多個表,乙個類據一》個表。各表之間通過某些常用的值(即關係)相關聯
就比如說有乙個表儲存了**商資訊,**商id為主鍵。另乙個表儲存了一些商品的資訊,但是也需要知道商品相應的**商資訊。那麼可以給商品設定乙個**商id>,稱為外來鍵,通過這個外來鍵來去**商表查詢**商的資訊
外來鍵(foreign key): 外來鍵為某個表中的一列,它包含另乙個表的主鍵值,定》義了兩表的關係
就比如說,有兩張表:
mysql> select * from product;| name | vent_id |
| koh | 1 |
| naoh | 2 |
| kf | 1 |
| naf | 3 |
mysql> select * from vent;
| vent_id | name |
| 1 | wanqing |
| 2 | alading |
| 3 | guoyao |
| 4 | maikelin |
mysql> select product.name, product.vent_id,vent.name-> from product,vent
-> where product.vent_id=vent.vent_id;
| name | vent_id | name |
| kf | 1 | wanqing |
| koh | 1 | wanqing |
| naoh | 2 | alading |
| naf | 3 | guoyao |
可以看到通過使用where設定過濾條件,實現了兩張表的聯結。這種聯結是等》值聯結,也被稱為內部聯結(inner join)
上述帶where語句的更加標準的寫法是:
mysql> select product.name, product.vent_id,vent.name-> from product inner join vent
-> on product.vent_id=vent.vent_id;
| name | vent_id | name |
| kf | 1 | wanqing |
| koh | 1 | wanqing |
| naoh | 2 | alading |
| naf | 3 | guoyao |
與內部聯結不同的是,外部聯結會包括沒有聯結的行,也就是會出現null。使用時必須指定是left outer join還是right outer join,分別表示外部聯結左邊還是右邊的表
mysql使用聯結的好處 Mysql 聯結
聯結 簡介聯結是一種機制,用來在一條select語句中關聯表,聯結是由mysql根據需要而建立的,它存在於select語句的執行當中。在執行資料檢索查詢中使用聯結是sql強大的功能之一,聯結是利用sql的select能執行的最重要的操作,在使用聯結之前,我們必須要了解下關係表。關係表來個栗子說明下 ...
MYSQL 多表聯結
參考 join與逗號的區別 交叉連線的操作只有兩種 inner join和cross join。join,是 inner join的預設寫法。cross join,因為有明確的語義,就是要生成笛卡爾全集。因此之後就不容許跟on條件。inner join,是對笛卡爾全集的補充處理。因此可以跟條件。由於...
mysql 聯結查詢
mysql聯合查詢效率較高,以下例子來說明聯合查詢 內聯 左聯 右聯 全聯 的好處 t1表結構 使用者名稱,密碼 userid int usernamevarchar 20 passwordvarchar 20 1 jack jackpwd 2 owen owenpwd t2表結構 使用者名稱,密碼...