หน้าแรก www.oracleskill.com ข่าวความเคลื่อนไหว oracle และ oracleskill.com ความรู้ เทคนิค oracle บทความ oracle คัดสรรจากต่างประเทศ คอร์สเรียน Oracleและ บริการ ประวัติ ความเป็นมา เพิ่มพูนทักษะในการหางาน IT Oracle Webboard แลกเปลี่ยนความรู้  
 

 
Google
 

การใช้ JOIN Syntax แบบใหม่ มาตรฐาน SQL/92

(Performing Joins Using the SQL/92 Syntax )

 
 

จากตัวอย่างการ JOIN ในเรื่อง Type of Oracle Join เป็น syntax การ join ที่เราคุ้นเคย และ ใช้กันมานาน จนเป็น syntax ที่ classic ซึ่ง SQL JOIN syntax ที่ใช้อยู่ เป็นไปตามมาตรฐาน ANSI SQL/86

 
  แต่เวลาผ่านไป ความต้องการความยืดหยุ่น และ ความง่ายขึ้นในการ query ข้อมูล จึงได้มี SQL syntax ใหม่ๆ ออกมาเป็นมาตรฐาน ANSI SQL/92 ซึ่งทาง Oracle เอง ก็ support มาตรฐานนี้ตั้งแต่ Oracle 9i เป็นต้นมา  
 

เราจะมาดู syntax การ join กัน เปรียบเทียบระหว่าง ANSI SQL/86 กับ SQL/92

 
 

Equi- Join

 
  SQL/86  
 

SELECT e.ename,d.dname
FROM emp e , dept d
WHERE e.deptno = d.deptno ;

 
     
 

SQL/92

 
 

SELECT e.ename,d.dname
FROM emp e JOIN dept d
USING (deptno) ;

 
 

ซึ่งจะได้ผลลัพธ์ออกมาเหมือนกัน แต่การใช้ equi-join แบบ SQL/92 ต้องระวัง 2 เรื่อง
1. Query นั้นต้องเป็น equi-join
2. column ที่ใช้ในการ join นั้น ต้องมีชื่อเหมือนกัน

 
 
 

Natural Join

 
 

Natural Join ก็คือ Equi-Join ที่ไม่ได้ระบุว่า จะเอา column อะไร มาเป็นตัวเงื่อนไข ในการจับ match กัน ซึ่ง Oracle จะไปดูว่า column ของตาราง ที่จะนำมา join กัน ว่ามี column อะไรที่ชื่อเหมือนกัน มันก็จะจับ column นั้นแหละ มาเป็นตัว match ในการ join เช่น

 
 

SELECT e.ename,d.dname
FROM emp e NATURAL JOIN dept d ;

 
 

จากตัวอย่างข้างบน ผลจะเหมือน equi-join เพราะ Oracle จะจับเอา column ชื่อ deptno ซึ่งมีอยู่ทั้ง 2 ตาราง มา match กัน

 
     
   
  RELATE LINK :  
  Type of Oracle Join  
     
 

 

พบปัญหา website , link เสีย ,แลก link,แสดงความเห็น หรือ ติดต่อเป็นสปอนเซอร์สนับสนุน
email : webmaster@oracleskill.com
All Rights Reserved 2007. http://www.oracleskill.com.