Page 36 - sql_ebook_codingthailand
P. 36

32



                          ผลลัพธ์ตัวอย่างที  4

                               Name                    Name

                           Somchai          Research and Development

                           Somjai           Research and Development
                   4.2 การใช้งานคําสั ง SELECT แบบซ้อนหลายระดับ (Subqueries)

                         เราสามารถใช้งานคําสั ง SELECT แบบซ้อนหลายระดับได้หากเราต้องการข้อมูลที มีความ

                       ซับซ้อนมากยิ งขึ น
                       ตัวอย่างที  5 แสดงรายละเอียดการติดต่อทั งหมด (Assignment) ของพนักงานที ชื อ Somchai

                   SELECT *

                   FROM Assignment

                   WHERE employeeID  =
                   (SELECT employeeID

                   FROM employee

                   WHERE name=’Somchai’)

                       ผลลัพธ์จากตัวอย่างที  5
                   clientID       employeeID             Workdate           hours

                      1              1111            2010-04-10               8.5

                      1              1111            2010-04-25               5

                       การใช้งาน SELECT แบบซ้อนหลายระดับนี  ข้อควรระวังคือ คําสั ง SELECT ที อยู่หลังเงื อนไข
                   WHERE จะต้องได้ผลลัพธ์เป็น 1 แถวเท่านั น จากตัวอย่างที  5 หลังเงื อนไข WHERE ถ้าเรารู้ว่ารหัส

                   พนักงาน (employeeID)  อยู่แล้วก็ไม่จําเป็นต้องใช้ Subquery  แต่ถ้าเรารู้ชื อพนักงานอย่างเดียวก็

                   สามารถใช้ Subquery เข้ามาช่วยทํางานได้


                   สรุปท้ายบท

                          การ join ตารางมากกว่า 1 ตารางเราสามารถใช้รูปแบบการ join แบบต่างๆ ได้แก่ INNER

                   JOIN  เป็นการ join  โดยนําฟิลด์ที มีความสัมพันธ์กันมาเปรียบเทียบกันโดยผลลัพธ์จะได้ข้อมูล
                   เฉพาะแถวข้อมูลที ตรงกันเท่านั น ส่วน LEFT JOIN จะเป็นการเปรียบเทียบฟิลด์เหมือนกัน INNER

                   JOIN  แต่ข้อมูลที เกิดจากเปรียบเทียบจะแสดงข้อมูลทั งหมดจากตาราง (รวมทั งฟิลด์ที เป็นค่า Null

                   ด้วย) ด้านซ้าย ส่วน RIGHT JOIN จะแสดงข้อมูลทั งหมดจากตารางด้านขวา  (รวมทั งฟิลด์ที เป็นค่า
                   Null ด้วย) และเรายังสามารถใช้การ SELECT แบบหลายระดับเพื อการเรียกดูข้อมูลที ซับซ้อนยิ งขึ น

                   ได้






                                               เรียนเขียนโปรแกรมฟรี กับโค้ชเอก ได้ที  www.codingthailand.com
   31   32   33   34   35   36   37   38   39   40   41