標籤:style http 使用 for ar html htm sql
多用才可以體會各個關鍵字的用法啊。。。
原文來自【http://bbs.php100.com/read-htm-tid-148469.html】
在用Join進行多表聯集查詢時,我們通常使用On來建立兩個表的關係。其實還有一個更方便的關鍵字,那就是Using。那麼這兩個關鍵字在使用上有啥區別呢?往下看。
假設有如下兩張表:
mysql> select * from pets; |
+---------+---------+--------+-----------+ |
| pets_id | animal | name | owners_id | |
+---------+---------+--------+-----------+ |
| 6 | hamster | Henry | 1 | |
+---------+---------+--------+-----------+ |
mysql> select * from owners; |
現在要找出這些寵物的主人是誰,我們會這麼寫:
mysql> select owners.name as owner, pets.name as pet, pets.animal |
-> from owners join pets on (pets.owners_id = owners.owners_id); |
+-------+--------+---------+ |
+-------+--------+---------+ |
| Susie | Henry | hamster | |
+-------+--------+---------+ |
這是完全正確的。不過我們仔細看一下,pets表與owners表的關聯欄位名都是owners_id,這時就可以用Using來建立表之間關係了。
mysql> select owners.name as owner, pets.name as pet, pets.animal |
-> from owners join pets using (owners_id); |
+-------+--------+---------+ |
+-------+--------+---------+ |
| Susie | Henry | hamster | |
+-------+--------+---------+ |
結果是完全一樣的,但是寫法卻更簡潔了。
也就是說,如果兩個表的關聯欄位名是一樣的,就可以使用Using來建立關係,簡潔明了。如果不一樣,只能用On了哦~