Structure Query Languge

Home

SQL Basic
Knowledge Developer Database Internet Resource
1. SELECT Statement
2. GROUP BY
3. HAVING
4. ORDER BY
5. การรวมเงื่อน และ Boolean Operator
6. IN และ BETWEEN
7. Function
8. Aggregate Function
9. JOIN
10. OUTER JOIN
11. Sub Query และ UNION
12. สรุป
 
SQL
SQL Basic
SQL Query
TABLE,VIEW
 
[an error occurred while processing this directive]

10. OUTER JOIN

OUTER JOIN เป็นการเชื่อม table ที่ต้องการแสดงข้อมูลจาก table นั้น โดยค่าที่ใช้เชื่อมไม่จำเป็นต้องมีค่าเท่ากับอีก table หนึ่ง การเขียนคำสั่งให้ใช้ (+) หน้าข้อมูลที่ต้องการแสดงรายการออกมา และจะแสดงค่าว่างสำหรับกรณีที่ไม่มีข้อมูล

SELECT cloumn1, column2,..
FROM table1, table2
WHERE table1.column1 (+) = table2.column2;

NOTE: เป็นการแสดงข้อมูลทั้งหมดของ table2

ตัวอย่าง สมมติมี 2 table คือ Employee และ Department

“Employee”

Name Dept
1 10
2 10
3 20
4 20
5 30

“Department”

Dept
10
20
30
40

ในฐานข้อมูล Oracle สามารถเขียนได้ดังนี้

SELECT E.Name, D.Dept
FROM Employee E, Department D
WHERE E.Dept (+) = D.Dept;

ผลลัพธ์

Name Dept
1 10
2 10
3 20
4 20
5 30
  40

Microsoft มีมาตรฐานการเขียน OUTER JOIN ซึ่งสามารถใช้กับ Microsoft Access, Visual Basic เป็นต้น

LEFT JOIN ใช้สำหรับการแสดงเรคคอร์ดของ table แรกทั้งหมดถึงแม้จะมีเรคคอร์ดของ table แรกมีค่าของฟิลด์ที่ไม่ตรงกับฟิลด์เชื่อมของ table ที่สอง

ไวยากรณ์ OUTER JOIN 1 สำหรับการเชื่อมตาม ด้านซ้ายของความสัมพันธ์

SELECT list-of-columns
FROM table1,table2,..
LEFT JOIN table1 ON table1.column1 = table2.column2

RIGHT JOIN ใช้สำหรับการแสดงเรคคอร์ดของ table ที่สองทั้งหมด ถึงแม้ว่าจะมีเรคคอร์ดของ table ที่สองมีค่าของฟิลด์ที่ไม่ตรงกับฟิลด์เชื่อมของ table แรก

ไวยากรณ์ OUTER JOIN 2 สำหรับการเชื่อมตาม ด้านขวาของความสัมพันธ์

SELECT list-of-columns
FROM table1,table2,..
RIGHT JOIN table2 ON table1.column1 = table2.column2

จากตัวอย่าง ฐานข้อมูล Access สามารถเขียนได้ดังนี้

SELECT Employee.Name, Department.Dept
FROM Department LEFT JOIN Employee ON Department.Dept = Employee.Dept;


  

สงวนลิขสิทธิ (C) widebase