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

 
其它文章

文章標籤
全站熱搜
創作者介紹
創作者 PG Levin Li 的頭像
PG Levin Li

程式開發學習之路

PG Levin Li 發表在 痞客邦 留言(0) 人氣(2,352)