SELECT * FROM TableOne t1, TableTwo t2 WHERE t1.SomeKey = t2.Id AND t1.SomeValue = 'search'
แล้วเขียนอย่างไรจึงจะถูกต้องตามมาตฐานหละ ก็เขียน
ประมาณนี้นะ
select t1.col1, t2.col1, t3.col1, t4.col1 ... etc
from table1 t1
inner join table2 t2
on t1.col2 = t2.col2
inner join table3 t3
on t1.col3 = t3.col3
inner join table4 t4
on t1.col4 = t4.col4
where ...
etc.
หรือ
SELECT * FROM TableOne t1 INNER JOIN TableTwo t2 ON t1.SomeKey = t2.Id WHERE t1.SomeValue = 'search'
ลองมาดูตัวอย่าง Inner และ Outer Joins กัน
1.Inner Join
select * from dbo.Students S INNER JOIN dbo.Advisors A ON S.Advisor_ID=A.Advisor_ID
ผลลัพท์
2.Left Outer Join
select * from dbo.Students S LEFT OUTER JOIN dbo.Advisors A ON S.Advisor_ID=A.Advisor_ID
3.Right Outer Join
select * from dbo.Students S RIGHT OUTER JOIN dbo.Advisors A ON S.Advisor_ID=A.Advisor_ID
ผลลัพท์ที่ได้ก็ลองคิดดูนะ
4.Full Outer Join
select * from dbo.Students S FULL OUTER JOIN dbo.Advisors A ON S.Advisor_ID=A.Advisor_ID
5.เลือก Row ที่ไม่ Join
select * from dbo.Students S FULL OUTER JOIN dbo.Advisors A ON S.Advisor_ID=A.Advisor_ID where A.Advisor_ID is null or S.Student_ID is null
No comments:
Post a Comment