ตัวอย่างการใช้ Outer joint | Order by | limit

Outer joint   แตกต่างกับ Inner joint
ตรงที่ ผลลัพธ์ข้อมูลทั้งสองตารางไม่จำเป็นต้องจับคู่กันได้ 
*Outer joint จะนำแถวที่ไม่สามารถจับคู่ได้มาแสดงในผลลัพธ์ด้วย

ตัวอย่าง : 
  • ดึงค่าทั้งหมดจากในตาราง Topic  
  • และใช้ LEFT Outer joint ข้อมูล ใส่ตารางฝั่งขวา 
  • ตารางฝั่งซ้ายที่ join คือ member ที่มี  t_poster=m_profilename
สุดท้ายใช่ ORDER BY t_id DESC  :  จัดเรียง t_id จากมาก ไปหา น้อย
และกำหนด LIMIT ตั้งแต่แถวที่ 20 ไปจำนวน 30 แถว




ตัวอย่างขุดมาจาก พันติ๊ป

outer join มันจะเอาที่ไม่ match มาด้วยอ่ะครับ ยกตัวอย่างเช่น

Table A
_____________________
id             name
_____________________
01             A
02             B
03             C

Table B
_____________________
name        grade
_____________________
A               4.0
B               3.0
B+             3.5

การ join ปรกติ จะได้แบบนี้ใช่มั๊ยครับ
Table A join B (สังเกตุว่า A และ B มี attribute เหมือนกัน)
_________________________
id             name            grade
_________________________
01             A             4.0
02             B             3.0

หมายเหตุ วิธีการ join คือ จะเอา Attribute ที่ชื่อว่า name ใน Table A 
มาดูในแต่ล่ะค่าว่า มีอะไรตรงกับ Table B มั๊ย ถ้าเท่ากันก็จะนำ Table มา join กัน
จึงจะเห็นว่า name ที่มีค่า C จะไม่ถูกแสดงใน A join B






แต่การ outer join จะเอาค่าที่ไม่ได้ match มาด้วย  
ดังนั้น หากทำการ outer join จะได้ค่าดังนี้ครับ

Table A outer join Table B
_________________________
id             name            grade
_________________________
01             A             4.0
02             B             3.0
03             C
                B+           3.5





ส่วน left กับ right outer join จะเป็นการทำ outer join 
แต่ว่า จะเลือกว่าจะเอาค่าที่ไม่ match ฝั่งไหนครับ เช่น

Table A left outer join Table B
_________________________
id             name            grade
_________________________
01             A             4.0
02             B             3.0
03             C

Table A right outer join Table B
_________________________
id             name            grade
_________________________
01             A             4.0
02             B             3.0
                B+           3.5



See more at: http://www.atriumtech.com/cgi-bin/hilightcgi?Home=/home/InterWeb2000&File=/home2/searchdata/Forums2/http/www.pantip.com/tech/developer/topic/DD2320619/DD2320619.html#sthash.hvDtDdAf.dpuf