หน่วยท่ี 9 เร่ือง การใช้ SQL Function หน่วยท่ี 9 เร่ือง SQL Functionการจดั การฐานข้อมูล รหัสวิชา 3000-2004
หน่วยท่ี 9 เร่ือง การใช้ SQL Function สาระสาคัญในระบบการจะจัดการฐานข้อมูล(DBMS)แต่ละตัว จะมี SQLFunction มาตรฐานมาในเราให้งานใช้งาน ประโยชน์ของการใช้ SQL Function กค็ อื ช่วยอานวยความสะดวกในการเรียกดูข้อมูลต่างๆ ในรปู แบบของการคานวณ ท้งั ตวั เลขและตัวอกั ษร ตวั อย่างของประเภทของฟังกช์ ัน อาทเิ ช่น ฟังกช์ ันการจดั ข้อความ ฟังกช์ ันทางด้านคณติ ศาสตร์ ฟังกช์ ันการคานวณด้านวันท่แี ละเวลา เป็นต้น SQL Function มาตรฐานท่ใี ช่ได้กบัทุก DBMS พร้อมกบั วิธกี ารการจดั กลุ่มข้อมูล และการกรองกลุ่มข้อมูลเง่อื นไขต่างๆ ด้วยการจดั การฐานข้อมูล รหัสวิชา 3000-2004
หน่วยท่ี 9 เร่ือง การใช้ SQL Function จุดประสงคท์ ว่ั ไป1. เพ่ือให้ทราบ และเข้าใจถงึ ถึงประโยชน์ของการใช้ SQL F unction2. เพ่ือให้ทราบ และเข้าใจเก่ยี วการกบั กลุ่มข้อมูล (GROP BY)3. เพ่ือให้ทราบและเข้าใจเก่ยี วกบั การกรองกลุ่มข้อมูลท่มี ีเง่อื นไข (HAVING)การจัดการฐานข้อมูล รหัสวิชา 3000-2004
หน่วยท่ี 9 เร่ือง การใช้ SQL Function จุดประสงค์เชิงพฤติกรรม 1. สามารถเขียนคาส่งั SQL Function ประเภทต่างๆได้ 2. สามารถเขยี นคาส่งั เพ่ือจัดกลุ่มข้อมูล (GROUP BY) ได้ 3. สามารถเขยี นคาส่งั กรองกลุ่มข้อมูลท่มี เี ง่ือนไข (HAVING)ได้การจัดการฐานข้อมูล รหัสวิชา 3000-2004
หน่วยท่ี 9 เร่ือง การใช้ SQL Function เน้ือหาสาระ1. ฟังกช์ ันเก่ยี วกบั การคานวณ และสรปุ ค่าของข้อมูล(Aggregate Function)2. การจดั ข้อมูลด้วย GROUP BY3.การกรองกลุ้มข้อมูลท่มี ีเง่ือนไข ด้วย HAVINGการจัดการฐานข้อมูล รหัสวิชา 3000-2004
หน่วยท่ี 9 และสรปุ ค่าของข้อมูล(Aggreเรg่ืองaกtารeใช้ FSQuLnFucncttiioonn)9.1ฟังกช์ ันเก่ยี วกบั การคานวณฟังชันท่เี ก่ยี วข้องกบั การคานวณ และสรปุ ค่าของข้อมูล มีดังน้ี ความหมายและการใช้งานชือ่ ฟังกช์ นัAVG ใช้หาค่าเฉล่ียข้อมูลCOUNT ใช้นับจานวนแถวท้งั หมดท่ไี ด้จากการเรียกดูข้อมูล (query)MAX หาค่ามากท่สี ดุ ของข้อมูลในฟิ ลดน์ ้ันๆ โดยใช้ได้ท้งั ตวั เลขและตวั อกั ษรMIN หาค่าน้อยท่สี ดุ ของข้อมูลในฟิ ลดน์ ้ันๆ โดยใช้ได้ท้งั ตัว เลขและตัวอกั ษรSUM หาผลรวมของข้อมูลในฟิ ลด์น้ันๆ โดยใช้ได้เฉพาะ ข้อมูลท่เี ป็นตัวเลขเทา่ น้ันการจดั การฐานข้อมูล รหัสวิชา 3000-2004
หน่วยท่ี 9 เร่ือง การใช้ SQL Functionก่อนยกตวั อย่างการใช้งานฟังกช์ ันประเภทต่างๆ ในบทน้ีขอใช้โครงสร้างตาราง และข้อมูล ดังน้ีตาราง Department(แผนก): depretment Name 42 Finance 128 Research and Developmentการจัดการฐานข้อมูล รหัสวิชา 3000-2004
หน่วยท่ี 9 เร่ือง การใช้ SQL Function ตาราง Employee (พนักงาน):employe Name Job Salary depretmentID eID 1111 Somchai Programmer 15000 128 2222 Wichit DBA 13500 42 3333 Somjai 16500 128 4444 Yongyut Programmer 20000 Null programmerการจัดการฐานข้อมูล รหัสวิชา 3000-2004
หน่วยท่ี 9 เร่ือง การใช้ SQL Functionตาราง EmployeeSkills(ความชานาญด้านคอมพิวเตอร์ของพนักงาน) employeeID Skill 1111 JAVA 1111 PHP 2222 Linux 3333 JSP 4444 VB 4444 MySQLการจดั การฐานข้อมูล รหัสวิชา 3000-2004
หน่วยท่ี 9 ตาราง Client: (บริษัทของลูกค้า) เร่ือง การใช้ SQL FunctionClientID Name Address ContactPerson contactNumber1 ABC 1 Vera 02-1236547 Company Siloam Limited Rd.2 Imperial Mongkol 02-3456789 Industryการจัดการฐานข้อมูล รหัสวิชา 3000-2004
หน่วยท่ี 9 เร่ือง การใช้ SQL Function ตาราง Assignment: (รายละเอยี ดการตดิ ต่อ การดูแลค้า)clientID employeeID Workdate hours 1 1111 2010-04-10 8.5 2 2222 2010-04-20 7 1 1111 2010-04-25 5การจดั การฐานข้อมูล รหัสวิชา 3000-2004
หน่วยท่ี 9 เร่ือง การใช้ SQL Function 9.1.1 การหาคาเฉล่ียด้วยฟังกช์ ัน AVG รูปแบบคาส่งั SELECT AVG (ช่ือฟิ ลด์) FROM ช่ือตาราง ตวั อย่างท่ี 1 หาค่าเฉล่ียเงนิ เดอื นพนักงานท้งั หมด SELECT AVG(salary) 16250.0000การจัดการฐานข้อมูล รหัสวิชา 3000-2004
หน่วยท่ี 9 เร่ือง การใช้ SQL Function9.1.2 การนับจานวนแถวท่ไี ด้จากการเรียกดูข้อมูล (query) ด้วยฟังกช์ ันCOUNT รูปแบบคาส่งั SELSCT COUNT (ช่ือฟิ ลด์) FROM ชื่อตาราง ตวั อย่างท่ี 2 นับจานวนแผนกท้งั หมดในบริษทั รหัสวิชา 3000-2004 SELECT COUNT(*) FROM Departmentการจัดการฐานข้อมูล
หน่วยท่ี 9 เร่ือง การใช้ SQL Function ผลลัพธต์ วั อย่างท่ี 2 COUNT(*) 39.1.3 การหาค่ามากท่สี ดุ ของฟิ ลดน์ ้ันๆ ด้วยฟังชัน MAXรูปแบบคาส่งั SELECT AVG (ช่ือฟิ ลด์) FROM ช่ือตารางการจัดการฐานข้อมูล รหัสวิชา 3000-2004
หน่วยท่ี 9 เร่ือง การใช้ SQL Function ตวั อย่างท่ี 3 แสดงเงินเดอื นพนักงานท่มี ากท่สี ดุ ในบริษทั SELECT MAX (salary) FROM Employee ผลลัพธต์ วั อย่างท่ี 3 MAX(salary) 20000การจดั การฐานข้อมูล รหัสวิชา 3000-2004
หน่วยท่ี 9 เร่ือง การใช้ SQL Function 9.1.4 การหาค่าน้อยท่สี ดุ ของฟิ ลดน์ ้ันๆ ด้วยฟังกช์ นั MIN รปู แบบคาส่งั SELECT MIN (ช่ือฟิ ลด์) FROM ตาราง ตัวอย่างท่ี 4 แสดงเงินเดอื นพนักงานท่นี ้อยท่สี ดุ ในบริษัท SELECT MIM (salary) FROM Employeeการจดั การฐานข้อมูล รหัสวิชา 3000-2004
หน่วยท่ี 9 เร่ือง การใช้ SQL Function ผลลัพธต์ วั อย่างท่ี 4 MIX(salary) 13500 9.1.5 การผลรวมของฟิ ลดน์ ้ันๆ ด้วยฟังกช์ ัน SUM SELECT SUM (ช่ือฟิ ลด์) FROM ช่ือตารางการจดั การฐานข้อมูล รหัสวิชา 3000-2004
หน่วยท่ี 9 เร่ือง การใช้ SQL Function ตวั อย่างท่ี 5 แสดงผลรวมเงนิ เดอื นของพนักงานท้งั หมด SELECT MUM (salary) FROM Employee ผลลัพธต์ วั อย่างท่ี 5 MUX(salary) 65000การจดั การฐานข้อมูล รหัสวิชา 3000-2004
หน่วยท่ี 9 เร่ือง การใช้ SQL Function จากตวั อย่างท่กี ล่าวมาท้งั หมดแล้วเรายงั เพ่ิมเง่ือนไข WHERE เพ่ือกรองข้อมูลได้อกี ด้วย ยกตัวอย่าง เช่นตวั อย่าง 6 หาค่าเฉล่ียของพนักงานท่เี งนิ เดือนน้อยกว่าหรือเท่ากบั 15000 SELECT AVG (salary) FROM Employee WHERE salary <= 15000การจัดการฐานข้อมูล รหัสวิชา 3000-2004
หน่วยท่ี 9 เร่ือง การใช้ SQL Function ผลลัพธต์ วั อย่างท่ี 6 AVG(salary) 14250.00009.2 การจดั กลุ่มข้อมูลด้วย GROUP BYในบางคร้ังการเรียนดูข้อมูลแบบการคานวณ และการสรปุค่าของข้อมูลด้วย Aggregate Function อาจได้ผลลัพธข์ องแถวข้อมูลท่เี ป็นเซต็ (set) หรือมากกว่า 1แถว ดงั น้ันหากเราต้องการจดั กลุ่มข้อมูลต่างๆ น้ี เพ่ือให้ได้ผลลัพธท์ ่ถี ูกต้อง เราจาเป็นต้องนาข้อมูลในฟิ ลด์ต่างๆ มาเหล่าน้ีจดั กลุ่มเสยี ก่อนด้วย รหัสวิชา 3000-2004 การใช้ GROUP BYการจัดการฐานข้อมูล
หน่วยท่ี 9 เร่ือง การใช้ SQL Function รูปแบบคาส่งั SELECT ช่ือฟิ ลด์,ช่ือฟังชัน (ช่ือฟิ ลด์) FROM ช่ือตาราง WHERE ช่ือฟิ ลด์ ตัวดาเนนิ การ ค่าข้อมูล GROUP BY ชื่อฟิ ลด์หมายเหตุ เง่อื นไข WHERE จะใสเ่ ฉพาะเม่อื เราต้องการกรองข้อมูลของตารางการจดั การฐานข้อมูล รหัสวิชา 3000-2004
ตัวอย่างท่ี 7 แสดงรหัสพนักงาน และนับจานวนความชานาญด้านคอมพิวเตอร์(skill) ของแต่ละคน SELECT emploeeID, COUNT (skill) FROM EmployeeID FROM BY employeeIDผลลัพธต์ ัวอย่าง ท่ี 7 COUNT (skill) employeeID 2 1111 1 2222 1 3333 2 4444
หน่วยท่ี 9 เร่ือง การใช้ SQL Functionจากตวั อย่างท่ี 7 จะเหน็ ว่าเราจดั กลุ่มโดยใช้ฟิ ลด์ employeeID เพราะจะทาให้ได้ข้อมูลในการนับความชานาญด้านคอมพิวเตอร์ของพนักงานแต่ละคนตัวอย่างท่ี 8 แสดงรหัสพนักงาน ท่มี ีรหัสมากว่าหรือเทา่ กบั 3333 ข้นึ ไปและนับจานวนความชานาญด้านคอมพิวเตอร์(skill)ของแต่ละคน ESLECT employeeID, COUT(skill) FROM EmployeeSKill FROM employeeID >=3333 GROUP BY employeeIDการจดั การฐานข้อมูล รหัสวิชา 3000-2004
หน่วยท่ี 9 เร่ือง การใช้ SQL Function ผลลัพธต์ ัวอย่างท่ี 8 COUT(skill) 1 employeeID 2 3333 4444 9.3 การกรองกลุ่มข้อมูลท่มี ีเง่อื นไข ด้วย HACINGเม่อื เราได้ผลลัพธใ์ นรปู แบบของการจดั กลุ่มและการสรปุ ค่ามาแล้วหากเราต้องการการกรองข้อมูลหรือใส่เง่อื นไขเพ่ิมเตมิ ให้กบั ฟังกช์ ันต่างๆ กส็ ามารถใช้ HAVING ได้ โดยมแี บบดังน้ีการจัดการฐานข้อมูล รหัสวิชา 3000-2004
หน่วยท่ี 9 เร่ือง การใช้ SQL Function รปู แบบคาส่งั SELECT ช่ือฟิ ลด์,ช่ือฟังชัน (ช่ือฟิ ลด์) FROM ช่ือตาราง WHERE ช่ือฟิ ลด์ ตัวดาเนินการ ค่าข้อมูล GROUP BY ชื่อฟิ ลด์ HACINGช่ือฟังกช์ นั (ชื่อฟิ ลด์ ตวั ดาเนินการ ค่าขอ้ มูล)หมายเหตุ เง่อื นไข WHERE จะใส่เฉพาะเม่อื เราต้องการกรองข้อมูลของตารางการจดั การฐานข้อมูล รหัสวิชา 3000-2004
หน่วยท่ี 9 เร่ือง การใช้ SQL Functionตัวอย่างท่ี 9 แสดงรหัสพนักงาน ท่มี ีจานวนความชานาญด้านคอมพิวเตอร์มากกว่า 1 ด้าน SELECT employeeID, COUNT(skill) FROM EmployeeSkills GROUP BY employeeID HACING COUNT(skill) > 1การจดั การฐานข้อมูล รหัสวิชา 3000-2004
หน่วยท่ี 9 เร่ือง การใช้ SQL Function ผลลัพธต์ ัวอย่างท่ี 9 COUNT(skill) 2 employeeID 2 1111 4444จากตัวอย่างท่ี 9 เรานาเอาผลลัพธจ์ ากฟังกช์ ัน COUNT มาเป็นเง่อื นไขเพ่ือกรองข้อมูล โดยใช้ HAVING น่ันเองการจัดการฐานข้อมูล รหัสวิชา 3000-2004
หน่วยท่ี 9 เร่ือง การใช้ SQL Function สรุปในระบบการจดั การฐานข้อมูล (DBMS) แต่ละตัว จะมี SQLFunction มาตาฐานประเภทต่างๆให้เราใช้งานและฟังชันท่มี ไี ว้คานวณ และสรุปค่าข้อมูล เราเรียกว่า Aggregate Functionได้แก่ผลรวมข้อมูล ฟังกช์ ัน AVG หาค่าเฉล่ียข้อมูล ฟังกช์ ันCOUNT นับจานวนแถวของผลลัพธ์ ฟังกช์ ัน MIN หาค่าน้อยท่สี ดุ ของข้อมูล ฟังกช์ ัน MAX หาค่ามากท่สี ดุ ของข้อมูล เมอืเราได้เรียนร้ขู ้อมูลฟังกช์ ันเหล่าช้ีแล้วเราสามารถนาผลลัพธท์ ่ไี ด้มาจดกลุ่มข้อมูล และเพ่ือเง่อื นไขในการเรียกดูข้อมูลได้อกี ด้วยการจดั การฐานข้อมูล รหัสวิชา 3000-2004
Search
Read the Text Version
- 1 - 28
Pages: