使用一般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。
\
其它文章
沒有留言:
張貼留言