NATURAL JOIN 自動依據相同名稱的欄位來做聯集,方式與INNER JOIN相同,結果略為不同
使用一般JOIN
語句︰
SELECT *
FROM occupation AS occ
JOIN
user_order AS uo
ON
occ.user_id = uo.user_id
結果︰所有有對應上的欄位都會出現
使用NATURAL JOIN,資料會只會出現叉集後的結果,並且相同的欄位名稱只會出現一次
語句︰
SELECT *
FROM occupation AS occ
NATURAL JOIN
user_order AS uo;
結果︰自動關聯user_id欄位,並只出現叉集後結果
使用NATURAL JOIN並指定個別欄位,相同欄位名稱不會自動出現,但依然可以指定
語句︰
SELECT occ.id,
occ.user_id,
occ.occupation,
occ.salary,
uo.id,
uo.user_id,
uo.order_date,
uo.order_status
FROM occupation AS occ
NATURAL JOIN
user_order AS uo
結果︰依照指定查出特定欄位
除了上方所述一般使用之外,NATURAL JOIN還可以加入LEFT or RIGHT來做左右關聯
使用NATRUAL LEFT JOIN
語句︰
SELECT *
FROM occupation AS occ
NATURAL LEFT JOIN
user_order AS uo;
結果︰以occupation為主關聯user_order,並將相同名稱的欄位併成一個
使用NATRUAL RIGHT JOIN
語句︰
SELECT *
FROM occupation AS occ
NATURAL RIGHT JOIN
user_order AS uo;
結果︰以user_order為主關聯occupation,並將相同名稱的欄位併成一個
總結︰如果確定兩個TABLE有相同名稱的欄位(最好只有一個相同欄位),並且確知其資料的關聯性,而你想要的資料結果是叉集,則可使用NATRUAL JOIN。
- 首頁
- JAVA 目錄
- JAVA WEB 目錄
- JAVA 其他未分類 目錄
- Grails目錄
- jQuery 目錄
- Apache 目錄
- JavaScript 目錄
- Spring + Hibernate 目錄
- Hibernate 目錄
- Linux 目錄
- 程式開發工具目錄
- MySQL 目錄
- PHP目錄
- C/C++ 目錄
- Google App Engine 目錄
- HTML5/CSS3
- 程式開發基本資訊
- Android
- Oracle 目錄
- Struts 目錄
留言列表