mysql中on用法_详解mysql中的Using与On的用法
多用才可以體會各個關(guān)鍵字的用法啊。。。
在用Join進行多表聯(lián)合查詢時,我們通常使用On來建立兩個表的關(guān)系。其實還有一個更方便的關(guān)鍵字,那就是Using。那么這兩個關(guān)鍵字在使用上有啥區(qū)別呢?往下看。
假設(shè)有如下兩張表:
mysql> select * from pets;
+---------+---------+--------+-----------+
| pets_id | animal??| name?? | owners_id |
+---------+---------+--------+-----------+
|?????? 1 | fox???? | Rusty??|???????? 2 |
|?????? 2 | cat???? | Fluffy |???????? 2 |
|?????? 3 | cat???? | Smudge |???????? 3 |
|?????? 4 | cat???? | Toffee |???????? 3 |
|?????? 5 | dog???? | Pig????|???????? 3 |
|?????? 6 | hamster | Henry??|???????? 1 |
|?????? 7 | dog???? | Honey??|???????? 1 |
+---------+---------+--------+-----------+
7 rows in set (0.00 sec)
mysql> select * from owners;
+-----------+-------+
| owners_id | name??|
+-----------+-------+
|???????? 1 | Susie |
|???????? 2 | Sally |
|???????? 3 | Sarah |
+-----------+-------+
3 rows in set (0.00 sec)
現(xiàn)在要找出這些寵物的主人是誰,我們會這么寫:
mysql> select owners.name asowner, pets.name aspet, pets.animal
-> from owners join pets on (pets.owners_id = owners.owners_id);
+-------+--------+---------+
| owner | pet????| animal??|
+-------+--------+---------+
| Sally | Rusty??| fox???? |
| Sally | Fluffy | cat???? |
| Sarah | Smudge | cat???? |
| Sarah | Toffee | cat???? |
| Sarah | Pig????| dog???? |
| Susie | Henry??| hamster |
| Susie | Honey??| dog???? |
+-------+--------+---------+
7 rows in set (0.00 sec)
這是完全正確的。不過我們仔細(xì)看一下,pets表與owners表的關(guān)聯(lián)字段名都是owners_id,這時就可以用Using來建立表之間關(guān)系了。
mysql> select owners.name asowner, pets.name aspet, pets.animal
-> from owners join pets using (owners_id);
+-------+--------+---------+
| owner | pet????| animal??|
+-------+--------+---------+
| Sally | Rusty??| fox???? |
| Sally | Fluffy | cat???? |
| Sarah | Smudge | cat???? |
| Sarah | Toffee | cat???? |
| Sarah | Pig????| dog???? |
| Susie | Henry??| hamster |
| Susie | Honey??| dog???? |
+-------+--------+---------+
7 rows in set (0.00 sec)
結(jié)果是完全一樣的,但是寫法卻更簡潔了。
也就是說,如果兩個表的關(guān)聯(lián)字段名是一樣的,就可以使用Using來建立關(guān)系,簡潔明了。如果不一樣,只能用On了哦~
原文:http://www.cnblogs.com/ishenghuo/p/3889127.html
總結(jié)
以上是生活随笔為你收集整理的mysql中on用法_详解mysql中的Using与On的用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梧桐山记
- 下一篇: Unity 2D精灵分割图片注意事项