Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore unit 7

unit 7

Published by Jirawan Malasai, 2017-03-22 21:56:29

Description: unit 7

Search

Read the Text Version

หน่วยท่ี 7 เร่ือง Data Retrieval command หน่วยที่ 7 เรือ่ ง Data Retrieval Commandการจัดการฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval commandสาระสาคัญ Data Retrieval Command เป็นประเภทคาส่งั ท่ใี ช้ในการเรียกดูข้อมูลโดยอยู่ภายใต้กลุ่มของ Data Manipulation Language หรือ DML คาส่งั ท่ีอยู่ในประเภท Data Retrieval Command น่ันคือคาส่งั SELOECT ซ่ึงมีหน้าท่ใี นการแสดงหรือเรียกดู (Query) ข้อมูลจากตารางฐานข้อมูล ในบทน้ีเราจะมาเรียนร้คู าส่งั SELECT ในเบ้ืองต้นก่อน และเรียนร้กู ารใช้งานตวั ดาเนินการ (Operators) เพ่ิมเตมิ เพ่ือให้การใช้งานคาส่งัSELECT มปี ระสทิ ธภิ าพและเกดิ ประโยชน์มากท่สี ดุการจดั การฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval commandจุดประสงค์ทว่ั ไป1. เพ่ือให้ทราบถงึ ประโยชน์ของการใช้คาส่งั Select2. เพ่ือให้ทราบถงึ รูปแบบคาส่งั Select เบ้อื งต้น3. เพ่ือให้ทราบถงึ คาส่งั Select แบบมีเง่อื นไข4. เพ่ือให้ทราบถงึ ตวั ดาเนินการท่ใี ช้ร่วมกบั คาส่งั Select5. เพ่ือให้ทราบถงึ คาส่งั Order By ท่ใี ช้สาหรับการเรียงลาดบั ข้อมูลการจดั การฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command จุดประสงคเ์ ชิงพฤตกิ รรม 7. สามารถเขยี นคาส่งั Select เบ้ืองต้นเพ่ือเรียกดูข้อมูล จากตารางฐานข้อมูลได้ 2. สามารถเขยี นคาส่งั Select แบบมีเง่อื นไขได้ 3. สามารถเขยี นใช้ดาเนินการร่วมกบั คาส่งั Select ได้ 4. สามารถใช้คาส่งั ในการเรียงลาดบั ข้อมูลได้การจัดการฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command เน้ือหาสาระ 1. การใช้งานคาส่งั Select เบ้อื งต้น 2. การใช้งานตัวดาเนินการร่วมกบั คาส่งั Select 3. การใช้งานตัวดาเนินการร่วมกบั คาส่งั Select 4. การเรียงลาดับข้อมูลการจัดการฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command7.1 การใชค้ าสงั่ SELECT เบ้ อื งตน้ ก่อนใช้งานคาส่งั Select ขอยกตัวอย่างตาราง 5 ตารางท่เี ราได้ออกแบบไว้ในบทท่ี 5 โดยให้เพ่ิมข้อมูลเข้าไปในแต่ละตาราง ดังน้ี(ใช้คาส่งั Insert) ตามท่ไี ด้กล่าวไว้ในบทท่ี 6 ตาราง Department (แผนก) : Department ID Name 42 Finance 128 Research and Development 130 Marketingการจดั การฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval commandตาราง Employee (พนักงาน) : EmployeeID Name JOb Salary DepartmentID 1111 Somchai Programmer 15000 128 13500 42 2222 Wichit DBA 16500 128 2000 130 3333 Somjai Programmer 4444 Yongyut Programmerการจัดการฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval commandตาราง EmployeeSkills: (ความชานาญด้านคอมพิวเตอร์ของพนักงาน) : EmployeeID Skill 1111 JAVA 1111 PHP 2222 Linux 3333 JSP 4444 VB 4444 MySQLการจัดการฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command ตาราง Client : (บริษทั ของลูกค้า)Client name Address ContactPerson Contact Number1 Abc company 1 silom Rd. Vera 02-1234567 limited2 Imperial 100 Mongkol 02-3456789 Industry Samutprakarnการจดั การฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command ตาราง Assignment: (รายละเอยี ดการติดต่อ การดูแลลูกค้า) clientId employeeID workdate house 1 1111 2010-04-10 8.5 7 2 2222 2010-04-20 5 1 1111 2010-04-25การจัดการฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command การทีเ่ ราจะนาขอ้ มูลจากตารางมาใชป้ ระโยชน์ ไม่ว่าจะเป็ น การนามาทารายงาน วิเคราะหข์ อ้ มูลต่าง ๆ จะตอ้ งอาศยั การ เรียนรูก้ ารใชง้ านคาสงั่ SELECT ดงั น้ ี รูปแบบคาส่งั SELECT ช่ือฟิ ลด์ท่1ี , ช่ือฟิ ลดท์ ่2ี , ช่ือฟิ ลด์ท่3ี ....... FROM ช่ือตารางการจดั การฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command ตัวอย่างท่ี 1 ใช้คาส่งั select เรียกดูข้อมูลท้งั หมดจากตาราง Department SELECT departmentID, Name FROM Department ผลลัพธต์ ัวอย่างท่ี 1 Name departmentID Finance Research and Development 42 128 Marketing 130การจัดการฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command เราสามารถใช้เคร่ืองหมายดอกจนั (*) แทนช่ือฟิ ลด์ท้งั หมดได้ ดังน้ี ตัวอย่างท่ี 2 เรียกดูข้อมูลท้งั หมดจากตาราง Department โดยใช้เคร่ืองหมายดอกจนั แทนช่ือฟิ ลด์ท้งั หมด Select * FROM Department ผลลัพธต์ ัวอย่างท่ี 2 Name departmentID Finance Research and Development 42 128 Marketing 130การจัดการฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command หากเราต้องการเรียกดูข้อมูลเฉพาะบางฟิ ลด์สามารถเขียนคาส่งั ได้ ดงั น้ี ตัวอย่างท่ี 2 เรียกดูข้อมูลเฉพาะฟิ ลด์ employeeID ฟิ ลด์ Name ฟิ ลด์ Salary จากตาราง Employee SELECT employeeID, Name, Salary FROM Employeeการจดั การฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 Name เร่ือง Data Retrieval command ผลลัพธต์ ัวอย่างท่ี 2 Somchai Salary Wichit employeeID Somjai 15000 Yongyut 13500 1111 16500 2222 2000 3333 4444การจดั การฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command การใช้งานคาส่งั SELECT แบบมีเง่อื นไข ทาให้เราสามารถระบุ เง่ือนไขเพ่ือกรองข้อมูลเฉพาะบางแถวท่เี ราต้องการา ทาให้การ SELECT ข้อมูลมีความยดื หยุ่นและได้ข้อมูลท่ตี รงกบั ความต้องการ รปู แบบคาส่งั SELECT ช่ือฟิ ลด์ท่ี 1, ช่ือฟิ ลด์ท่ี 2, ช่ือฟิ ลด์ท่ี3....... FROM ช่ือตาราง WHERE เง่อื นไขการจัดการฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command ตวั อย่างที่ 4 คาสงั่ Select แสดงขอ้ มูลท้งั หมด โดยมี เงือ่ นไขว่าตอ้ งการเฉพาะพนกั งานทีม่ อี าชีพ Programmer เท่าน้นั Select * FROM Employee WHERE job=‘Programmer’การจัดการฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command ผลลัพธต์ ัวอย่างท่ี 4employeeID Name Job salary department 1111 Somchai Programmer 15000 128 3333 Somjai Programmer 16500 128 4444 Yongyut Programmer 20000 130การจดั การฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command ตัวอย่างท่ี 5 แสดงข้อมูล ช่ือ และเงินเดือนพนกั งาน โดยมีเง่ือนไขว่าต้องการพนักงานท่มี ีเงนิ เดอื นมากกว่า 16000 ข้นึ ไป SELECT Name, salary FROM Employee WHERE Salary > 16000การจัดการฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command ผลลัพธต์ วั อย่างท่ี 5 Salary Name 16500 20000 Somjit Yongyutการจัดการฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command ตวั อย่างท่ี 6 แสดงข้อมูลช่ือลูกค้าท่เี ป็นตัวแทนบริษัท(contactPerson) และเบอร์โทรศพั ทต์ ดิ ต่อ (contactNumber)ท่มี ชี ่ือว่า Mongkol SELECT contactPerson, contactNumber FROM client WHERE contactPerson = Mongkolการจดั การฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command ผลลัพธต์ ัวอย่างท่ี 6 contactPerson contactNumber Mongkol 02-3456789การจัดการฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command 7.3 การใชง้ านตวั ดาเนินการร่วมกบั คาสงั่ SELECT ตัวดาเนนิ การ (Operators) มีหลายประเภทเราสมมารถใช้ตวัดาเนินการประเภทต่าง ๆ ร่วมกบั คาส่งั SELECT เพ่ือเพ่ิมความสามารถให้กบั คาส่งั SELECT และยังสามารถทาให้เราเรียกดูข้อมูลท่มี ีความซับซ้อนมากข้นึ ด้วย ตวั ดาเนินการบางประเภทเราได้เรียนร้ไู ปแล้ว เช่น เคร่ืองหมายเท่ากบั (=), เคร่ืองหมายมากกว่า (>),เคร่ืองหมายน้อยกว่า (<) เป็นต้น ในหัวข้อน้ีเราจะมาเรียนรู้ตัวดาเนนิ การเพ่ิมเตมิ ดังน้ีการจัดการฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command ตวั ดาเนินการ ความหมาย AND ผลลัพธจ์ ากการ AND จะได้ข้อมูลกต็ ่อเม่อื เง่อื นไขเป็นจริงท้งั หมด OR ผลลัพธจ์ ากการ OR จะได้ข้อมูลกต็ ่อเม่อื เง่อื นไขใดเง่อื นไขหน่ึงเป็นจริง NOT ผลลัพธจ์ ากการ NOT จะได้ข้อมูลท่อี ยู่ในรปู ปฏเิ สธ LIKE เปรียบเทยี บข้อมูลว่าตรงกบั รูปแบบท่กี าหนดไว้หรือไม่ BETWEEN ใช้หาข้อมูลท่มี ลี ักษณะเป็นช่วงการจดั การฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command 7.3.1 การใชง้ านตวั ดาเนนิ การ AND ตวั อย่างท่ี 7 แสดงช่ือ เงินเดอื นพนักงานท่มี ีตาแหน่งProgrammer และเงินเดือนน้อยกว่า 16000SELECT name, salaryFROM employeeWHERE job = Programmer AND salary <16000การจดั การฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command ผลลัพธต์ ัวอย่างท่ี 7EmployeeID Name JOb Salary DepartmentID 1111 Somchai Programmer 15000 128การจดั การฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command 7.3.2 การใช้งานตวั ดาเนนิ การ OR ตวั อย่างท่ี 8 แสดงรหัส และทกั ษะ (skill) ของพนักงานท่ถี นัด JAVA หรือ PHP SELECT * FROM employeeSkills WHERE skill = ‘JAVA’ OR skill = ‘MySQLการจดั การฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command ผลลัพธต์ วั อย่างท่ี 8 skill employeeID JAVA MySQL 1111 4444การจดั การฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command 7.3.3 การใช้งานตวั ดาเนนิ การ NOT ตัวอย่างท่ี 9 แสดงรหัส ช่ือ เงินเดือน ของพนักงานท่ไี ม่ได้มีเงินเดือนเทา่ กบั 20000 SELECT employeeID, Name, Salary FROM employee WHERE NOT salary = 20000การจดั การฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command ผลลัพธต์ วั อย่างท่ี 9 Job employeeID Name Programmer DBA 1111 Somchai 2222 Wichit Programmer 3333 Somjaiการจดั การฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command 7.3.4 การใช้งานตัวดาเนนิ การ LIKE ตวั อย่างท่ี 10 แสดงช่ือพนักงานท่มี ชี ่ือข้นึ ต้นด้วยตวั อกั ษร S SELECT Name FROM employee WHERE name LIKE ‘S%’ ผลลัพธต์ ัวอย่างท่ี 10 Name Somchai Somjaiการจัดการฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command การใช้เคร่ืองหมาย % (percent sign) หมายถงึ จะเป็น ตวั อกั ษรหรือตวั เลขใดๆ ก่ตี ัวกไ็ ด้ จากตัวอย่างท่ี 10 หมายถงึ หลัง ตัว S จะเป็นตวั อกั ษรหรือตัวเลขใดๆ ก่ตี ัวกไ็ ด้ ตวั อย่างท่ี 11 แสดงช่ือพนักงานท่มี ตี วั อกั ษร i อยู่ในช่ือด้วย SELECT Name FROM employee WHERE name LIKE ‘%i%’การจดั การฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command ผลลัพธต์ ัวอย่างท่ี 11 Name Somchai Wichit Somjaiการจัดการฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command หากเราใช้เคร่ืองหมาย _ (Underscore) หมายถงึ จะแทนตัวอกั ษรหรือตวั เลขใดๆ กไ็ ด้ 1 ตัวเทา่ น้ัน ตัวอย่างท่ี 12 แสดงความชานาญ (skill) ของพนักงานท่มี ีตวั อกั ษรข้นึ ต้นด้วยตวั อกั ษรใดกไ็ ด้ 1 ตวั อกั ษร และลงท้ายด้วย SP SELECT Name FROM employee WHERE name LIKE ‘%i%’การจดั การฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command ผลลัพธต์ วั อย่างท่ี 12 Name JSPการจดั การฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command7.3.5 การใช้งานตัวดาเนินการ BETWEEN ตัวดาเนนิ การ BETWEEN ใช้เม่อื ต้องการข้อมูลลักษณะเป็นช่วงและตัวดาเนนิ การน้ีมักจะใช้ร่วมกบั ตัวดาเนินการ AND เสมอ ตัวอย่างท่ี 13 แสดงช่ือพนักงานท่มี ีช่ือข้นึ ต้นด้วยตวั อกั ษร S SELECT Name, salary FROM employee WHERE salary BETWEEN 15000 AND 20000การจดั การฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command ผลลัพธต์ วั อย่างท่ี 13 Salary Name 15000 16500 Somchai 20000 Somjai yongyutการจดั การฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command ตวั อย่างท่ี 14 แสดงจานวนช่ัวโมงท่ตี ดิ ต่อ (house) และวนั ท่ีตดิ ต่อ (workdate ) ของรายละเอยี ดการติดต่อลูกค้าท่มี วี นั ท่ตี ิดต่อ(workdate) ระหว่างวนั ท่ี 20 เม.ย. 53ถงึ วนั ท่ี 25 เม.ย 53 SELECT house, workdate FROM Assignment WHERE workdate BETWEEN ‘2010-04-23’ AND ‘2010-04-25’การจัดการฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command ผลลัพธต์ ัวอย่างท่ี 14 Workdate house 2010-04-20 2010-04-25 7 5 หมายเหตุ รปู แบบวันท่ที ่ใี ช้ในคาส่งั BETWEEN อาจเปล่ียนได้ตามแต่ละ DBMS น้ัน ๆ ในท่นี ้ีเราอ้างองิ จาก MySQLการจัดการฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command7.4 การเรียงลาดบั ข้อมูล ในการเรียกดูข้อมูล ข้อมูลท่แี สดงออกมาจะเรียงตามท่จี ัดเกบ็ ไว้ในตารางฐานข้อมูล แต่ถ้าเราต้องการจัดเรียงลาดบั การแสดงข้อมูลตามฟิ ลด์ให้เรียงลาดับจากค่ามากไปน้อย หรือจากค่าน้อยไปมาก กส็ ามารถทาได้โดยใช้คาส่งั ORDER BY โดยระบุช่ือฟิ ลดท์ ่ตี ้องการใช้เป็นตัวเรียงลาดับ ตวั อย่างท่ี 15 ต้องการแสดงข้อมูลพนักงาน โดยให้เรียงลาดับตาม เงินเดือนจากน้อยไปมาก SELECT * FROM employee ORDER BY salaryการจัดการฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command ผลลัพธต์ วั อย่างท่ี 15 employeeID Name JOb Salary DepartmentID 2222 Wichit DBA 13500 42 1111 Somchai Programmer 15000 128 3333 Somjai Programmer 16500 128 4444 Yongyut Programmer 2000 Nullการจัดการฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command ตวั อย่างท่ี 16 ต้องการแสดงข้อมูลพนักงาน โดยให้เรียงลาดบั ตามเงนิ เดือนจากมากไปน้อย SELECT * FROM employee ORDER BY DESC ผลลัพธต์ วั อย่างท่ี 16 employeeID Name JOb Salary DepartmentID 4444 Yongyut Programmer 2000 Null 128 3333 Somjai Programmer 16500 128 42 1111 Somchai Programmer 15000 2222 Wichit DBA 13500การจดั การฐานข้อมูล รหัส 3204-2004

หน่วยท่ี 7 เร่ือง Data Retrieval command สรุป คาส่งั SELECT เป็นคาส่งั ในการแสดงหรือเรียกดู (Query) ข้อมูลจากตารางฐานข้อมูล โดยเราสามารถใส่เง่อื นไขเพ่ือเป็นการกรอง ข้อมูล ว่าเราต้องการข้อมูลฟิ ลดใ์ ด แถวใดบ้าง ทาให้เราได้ข้อมูลตรง ตามความต้องการนอกจากน้ันยังมตี ัวดาเนินการต่างๆ ท่เี พ่ิมเข้ามา ทา ให้เราสามารถเรียกดูข้อมูลท่ซี ับซ้อน และมีประสทิ ธภิ าพมากข้นึ ด้วยการจดั การฐานข้อมูล รหัส 3204-2004


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook