ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
1
Lecture 5 SQL (Structured Query Language)
2
Multi-Table Queries (JOIN)
INNER JOIN OUTER JOIN LEFT OUTER JOIN RIGHT OUTER JION FULL OUTER JION
3
INNER JOIN เป็นการ join ข้อมูลจาก 2 ตารางขึ้นไปโดยระบุคอลัมน์ที่มี ข้อมูลตรงกัน ผลลัพธ์ที่ได้จะแสดงเฉพาะแถวที่มีข้อมูลตรงกัน สำหรับ INNER JOIN นี้หรืออาจเรียกย่อๆ ว่า JOIN ก็ได้
4
OUTER JOIN เป็นการ join ข้อมูลจาก 2 ตารางขึ้นไป ขณะที่ INNER JOIN ให้ผลเฉพาะแถวที่มีข้อมูลตรงกันในคอลัมน์ที่ระบุแต่ OUTER JOIN จะนำข้อมูลในตารางทั้งสองออกมาแสดงโดยไม่สนใจว่าจะ มีข้อมูลที่ตรงกันหรือไม่ตรงกัน ซึ่งถ้าหากแถวใดมีข้อมูลที่ไม่ตรง กัน ก็จะแสดงข้อมูลในคอลัมน์นั้นเป็น NULL ไป
5
LEFT OUTER JOIN ( *=) เป็นการ join ข้อมูลจาก 2 ตารางขึ้นไป โดยจะถือเอาตาราง ทางซ้ายของคำว่า LEFT OUTER JOIN เป็นหลัก โดยข้อมูลทุกๆ แถวจากตารางด้านซ้ายจะถูกนำแสดง ไม่ว่าจะมีข้อมูลตรงกันกับ ตารางด้านขวาหรือไม่ก็ตาม ถ้าไม่มีข้อมูลในตารางด้านขวาที่ ตรงกันก็จะแสดงค่าเป็น NULL
6
RIGHT OUTER JOIN ( =*) เป็นการ join ข้อมูลจาก 2 ตารางขึ้นไป โดยจะถือเอาตาราง ทางขวาของคำว่า RIGHT OUTER JOIN เป็นหลัก โดยข้อมูล ทุกๆแถวจากตารางด้านขวาจะถูกนำแสดง ไม่ว่าจะมีข้อมูลตรงกัน กับตารางด้านซ้ายหรือไม่ก็ตาม ถ้าไม่มีข้อมูลในตารางด้านซ้าย ที่ตรงกันก็จะแสดงค่าเป็น NULL
7
FULL OUTER JOIN เป็นการ join ข้อมูลจาก 2 ตารางขึ้นไป โดยแสดงข้อมูลทุกแถว จากตารางที่นำมา join โดยจะบรรจุค่า null ลงไปเมื่อไม่สามารถ จับคู่ระหว่างแอตตริบิวต์ได้
8
การใช้งาน JOIN SELECT { column_name } [,...n] FROM { table_name } [, ...n] [ [ INNER ] | { LEFT | RIGHT | FULL} [ OUTER ] ] JOIN { table_name } ON { search_conditions}
9
Example: INNER JOIN แบบที่ 1 : ANSI SQL-92 Syntax
SELECT b.*, p.* FROM Branch1 AS b INNER JOIN PropertyForRent1 AS p ON b.bCity = p.pCity; แบบที่ 1 : ANSI SQL-92 Syntax SELECT b.*, p.* FROM Branch1 AS b, PropertyForRent1 AS p WHERE b.bCity = p.pCity; แบบที่ 2 : Transact - SQL
10
Example: INNER JOIN
11
Example: INNER JOIN
12
Example: LEFT OUTER JOIN
SELECT b.*, p.* FROM Branch1 AS b LEFT JOIN PropertyForRent1 AS p ON b.bCity = p.pCity; แบบที่ 1 : ANSI SQL-92 Syntax SELECT b.*, p.* FROM Branch1 AS b, PropertyForRent1 AS p WHERE b.bCity *= p.pCity; แบบที่ 2 : Transact - SQL
13
Example: LEFT OUTER JOIN
14
Example: RIGHT OUTER JOIN
SELECT b.*, p.* FROM Branch1 AS b RIGHT JOIN PropertyForRent1 AS p ON b.bCity = p.pCity; แบบที่ 1 : ANSI SQL-92 Syntax SELECT b.*, p.* FROM Branch1 AS b, PropertyForRent1 AS p WHERE b.bCity =* p.pCity; แบบที่ 2 : Transact - SQL
15
Example: RIGHT OUTER JOIN
16
Example: FULL OUTER JOIN
SELECT b.*, p.* FROM Branch1 AS b FULL JOIN PropertyForRent1 AS p ON b.bCity = p.pCity; (SELECT b.*, p.* FROM Branch1 AS b LEFT JOIN PropertyForRent1 AS p ON b.bCity = p.pCity) UNION FROM Branch1 AS b RIGHT JOIN PropertyForRent1 AS p ON b.bCity = p.pCity);
17
Example: FULL OUTER JOIN
18
Example: Three Table JOIN
ในแต่ละสาขา ให้แสดงรหัสและชื่อพนักงานที่ดูแลบ้านเช่า พร้อมทั้งที่ตั้ง จังหวัดของแต่ละสาขา และรายละเอียดบ้านเช่าที่ถูกดูแลโดยพนักงาน แบบที่ 1 : ANSI SQL-92 Syntax SELECT b.branchNo, b.city, e.empNo, e.empName, p.propertyNo, p.street FROM Branch AS b JOIN Employee AS e ON b.branchNo = e.branchNo JOIN Property_For_Rent AS p ON e.empNo = p.empNo;
19
Example: Three Table JOIN
แบบที่ 2 : Transact - SQL SELECT b.branchNo, b.city, e.empNo, e.empName, p.propertyNo, p.street FROM Branch AS b, Employee AS e, Property_For_Rent AS p WHERE b.branchNo = e.branchNo AND e.empNo = p.empNo
20
Example: Three Table JOIN
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.