งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

SQL - Structure Query Language (Part 2) ภาษามาตรฐานสำหรับนิยาม ข้อมูลและการใช้ข้อมูล 4122206A ระบบจัดการฐานข้อมูล 3(2-2) อ. ชนิดา คำเพ็ง สาขาวิชาเทคโนโลยีสารสนเทศ.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "SQL - Structure Query Language (Part 2) ภาษามาตรฐานสำหรับนิยาม ข้อมูลและการใช้ข้อมูล 4122206A ระบบจัดการฐานข้อมูล 3(2-2) อ. ชนิดา คำเพ็ง สาขาวิชาเทคโนโลยีสารสนเทศ."— ใบสำเนางานนำเสนอ:

1 SQL - Structure Query Language (Part 2) ภาษามาตรฐานสำหรับนิยาม ข้อมูลและการใช้ข้อมูล A ระบบจัดการฐานข้อมูล 3(2-2) อ. ชนิดา คำเพ็ง สาขาวิชาเทคโนโลยีสารสนเทศ

2 การใช้ ORDER BY ORDER BY : ใช้สำหรับการจัด เรียงลำดับในการแสดงผล – รูปแบบการใช้คำสั่ง SELECT columnlist FROM tablelist [WHERE conditionlist] [ORDER BY Columnlist [ ASC | DESC ]]; – โดย ASC คือ การเรียงจากน้อยไปมาก DESC คือ การเรียงจากมากไปน้อย

3 ตัวอย่าง : ORDER BY SELECT * FROM Address ORDER BY ZipCode DESC SELECT * FROM Address ORDER BY ZipCode DESC ตัวอย่าง AmphurZipCode เมือง พะเยา จุน ปง Address ผลลัพธ์ AmphurZipCode จุน ปง เมือง พะเยา 56000

4 แสดงรหัส, ชื่อ, ที่อยู่ และเงินค้าชำระ ของลูกค้าโดยเรียงตามเงินค้าชำระ จากมากไปน้อย Select Id, Name, Addr, Curr_Bal From customer order by Curr_Bal desc ; Id Name Addr Curr_Bal วรชาติ สีคล้ำอยุธยา ศิรี สุขพานิชกรุงเทพฯ อนันต์ บุญญานุพงศ์กรุงเทพฯ สุภาวดี เพชรสุขระยอง โสภา สีคล้ำกรุงเทพฯ

5 การใช้ ORDER BY ตัวอย่าง – ต้องการดูรหัสสินค้า ชื่อสินค้า วันที่ สินค้าเข้ามา และราคาสินค้า โดยให้ เรียงลำดับตามราคาสินค้าจากน้อยไป มาก –SELECT P_CODE, P_DESCRIPT, P_INDATE, P_PRICE FROM PRODUCT ORDER BY P_PRICE; การเรียงจากน้อยไปมากไม่จำเป็นต้อง ใส่ ASC

6 การใช้ ORDER BY ตัวอย่าง – ต้องการดูรหัสสินค้า ชื่อสินค้า วันที่ สินค้าเข้ามา และราคาสินค้า โดยให้ เรียงลำดับตามราคาสินค้าจากมากไป น้อย –SELECT P_CODE, P_DESCRIPT, P_INDATE, P_PRICE FROM PRODUCT ORDER BY P_PRICE DESC;

7 การใช้ ORDER BY ตัวอย่าง – ต้องการดูชื่อสินค้า รหัสผู้ค้าส่ง วันที่ สินค้าเข้ามา และราคาสินค้า โดยให้ เรียงลำดับตามรหัสผู้ค้าส่งมากน้อยไปหา มาก ถ้าหากผู้ค้าส่งเป็นรายเดียวกันให้ แสดงผลเรียงลำดับตามราคาสินค้า (P_PRICE) จากมากไปหาน้อย –SELECT P_DESCRIPT, V_CODE, P_INDATE, P_PRICE FROM PRODUCT ORDER BY V_CODE ASC, P_PRICE DESC;

8 การใช้ ORDER BY ตัวอย่าง – ต้องการดูชื่อสินค้า รหัสผู้ค้าส่ง และราคา สินค้า โดยให้เรียงลำดับตามรหัสผู้ค้าส่ง มากน้อยไปหามาก ถ้าหากผู้ค้าส่งเป็นราย เดียวกันให้แสดงผลเรียงลำดับตามราคา สินค้า (P_PRICE) จากมากไปหาน้อย –SELECT P_DESCRIPT, V_CODE, P_PRICE FROM PRODUCT WHERE P_PRICE <= 500 ORDER BY V_CODE ASC, P_PRICE DESC;

9 การใช้ DISTINCT DISTINCT : ใช้สำหรับการ แสดงผลค่าที่ซ้ำกันเพียง 1 ค่า – รูปแบบการใช้คำสั่ง ให้ใส่ DISTINCT ไว้หน้า ATTRIBUTE ที่ต้องการให้แสดงผล ค่าซ้ำเพียง 1 ค่า

10 การใช้ DISTINCT ตัวอย่าง –SELECT DISTINCT V_CODE FROM PRODUCT; ผลลั พธ์

11 การใช้ DISTINCT หากไม่ใช้ DISTINCT ผลลัพธ์จะได้ค่าที่ซ้ำกัน –SELECT V_CODE FROM PRODUCT; ผลลั พธ์

12 ตัวอย่าง : SELECT DISTINCT SELECT DISTINCT Amphur FROM Personal SELECT DISTINCT Amphur FROM Personal ตัวอย่าง FirstNameLastNameAmphur มานะพากเพียรเมือง อดทนตั้งใจเรียนเมือง มานีหมั่นเพียรปง Personal ผลลัพธ์ Amphu r เมือง ปง

13 ฟังก์ชันสรุป (Aggregate function) คำสั่งที่ใช้ –COUNT ใช้สำหรับนับค่า –MIN หาค่าต่ำสุด –MAX หาค่าสูงสุด –SUM หาผลรวม –AVG หาค่าเฉลี่ย

14 Aggregate function COUNT : ใช้สำหรับการนับค่า ตัวอย่าง – ต้องการนับจำนวนผู้ค้าส่งทั้งหมด –SELECT COUNT(*) FROM VENDOR;

15 Aggregate function ตัวอย่าง – ต้องการนับจำนวนผู้ค่าส่งทั้งหมดที่ทำ การส่งสินค้าให้เรา –SELECT COUNT(*) FROM (SELECT DISTINCT V_CODE FROM PRODUCT WHERE V_CODE IS NOT NULL);

16 Aggregate function ตัวอย่าง – ต้องการนับจำนวนผู้ค่าส่งที่ส่งสินค้าให้กับ เรา และราคาสินค้าที่ส่งน้อยกว่า 100 –SELECT COUNT(*) FROM (SELECT DISTINCT V_CODE FROM PRODUCT WHERE V_CODE IS NOT NULL AND P_PRICE < 100);

17 Aggregate function MAX : หาค่าสูงสุด ตัวอย่าง – ต้องการหาราคาสินค้าที่แพงที่สุดในร้าน –SELECT MAX(P_PRICE) FROM PRODUCT;

18 Aggregate function ตัวอย่าง – ต้องการดูรายละเอียดของสินค้าที่แพง ที่สุดในร้าน –SELECT P_CODE, P_DESCRIPT, P_PRICE FROM PRODUCT WHERE P_PRICE = (SELECT MAX(P_PRICE) FROM PRODUCT);

19 Aggregate function MIN : หาค่าต่ำสุด ตัวอย่าง – ต้องการหาราคาสินค้าที่ถูกที่สุดในร้าน –SELECT MIN(P_PRICE) FROM PRODUCT;

20 Aggregate function ตัวอย่าง – ต้องการดูรายละเอียดของสินค้าที่ถูกที่สุด ในร้าน –SELECT P_CODE, P_DESCRIPT, P_PRICE FROM PRODUCT WHERE P_PRICE = (SELECT MIN(P_PRICE) FROM PRODUCT);

21 Aggregate function SUM : หาผลรวม ตัวอย่าง – ต้องการหามูลค่าสินค้าที่มีอยู่ในร้าน ทั้งหมด –SELECT SUM(P_ONHAND * P_PRICE) AS TOTAL_VALUE FROM PRODUCT;

22 ตัวอย่าง : SUM SELECT Name, SUM(Amount) FROM Income SELECT Name, SUM(Amount) FROM Income ตัวอย่าง NameAmount ANT5500 BAT4500 ANT7100 Income ผลลัพธ์ NameSUM(Amount ) ANT17100 BAT17100 ANT17100

23 Aggregate function AVG : หาค่าเฉลี่ย ตัวอย่าง – ต้องการหามูลค่าสินค้าเฉลี่ยที่อยู่ในร้าน –SELECT AVG(P_PRICE) FROM PRODUCT;

24 Aggregate function ตัวอย่าง – ต้องการดูสินค้าที่มีราคาสูงกว่าราคา สินค้าเฉลี่ย –SELECT P_DESCRIPT, P_ONHAND, P_PRICE FROM PRODUCT WHERE P_PRICE > (SELECT AVG(P_PRICE) FROM PRODUCT) ORDER BY P_PRICE DESC;

25 GROUP BY และ HAVING GROUP BY เป็นคำสั่งที่ใช้สำหรับการ แสดงผลในลักษณะจัดกลุ่ม อาจใช้ ร่วมกับ HAVING ในการกำหนดเงื่อนไข ของการแสดงผล รูปแบบการใช้คำสั่ง SELECT columnlist FROM tablelist [WHERE conditionlist] [GROUP BY columnlist] [HAVING conditionlist] [ORDER BY columnlist [ASC | DESC]];

26 ตัวอย่าง : ใช้ GROUP BY SELECT Name, SUM(Amount) FROM Income GROUP BY Name SELECT Name, SUM(Amount) FROM Income GROUP BY Name ตัวอย่าง NameAmount ANT5500 BAT4500 ANT7100 Income ผลลัพธ์ NameSUM(Amount) ANT12600 BAT4500

27 ตัวอย่าง : ใช้ GROUP BY และ HAVING SELECT Name, SUM(Amount) FROM Income GROUP BY Name HAVING NAME = “ANT” SELECT Name, SUM(Amount) FROM Income GROUP BY Name HAVING NAME = “ANT” ตัวอย่าง NameAmount ANT5500 BAT4500 ANT7100 Income ผลลัพธ์ NameSUM(Amount) ANT12600

28 GROUP BY และ HAVING ตัวอย่าง – ต้องการดูมูลค่ารวมของสินค้าที่แต่ละผู้ค้า ส่ง ส่งสินค้าให้กับเรา –SELECT V_CODE, SUM(P_PRICE * P_ONHAND) FROM PRODUCT WHERE V_CODE <> NULL GROUP BY V_CODE;

29 GROUP BY และ HAVING ตัวอย่าง – ต้องการดูมูลค่าเฉลี่ยของสินค้าที่แต่ละ ผู้ค้าส่ง ส่งสินค้าให้กับเรา –SELECT V_CODE, AVG(P_PRICE) FROM PRODUCT WHERE V_CODE <> NULL GROUP BY V_CODE;

30 GROUP BY และ HAVING ตัวอย่าง – ต้องการดูมูลค่าเฉลี่ยของสินค้าที่แต่ละ ผู้ค้าส่ง ส่งสินค้าให้กับเรา โดยดูเฉพาะ ราคาเฉลี่ยที่ต่ำกว่า 100 –SELECT V_CODE, AVG(P_PRICE) FROM PRODUCT WHERE V_CODE <> NULL GROUP BY V_CODE HAVING AVG(P_PRICE) < 100;

31 GROUP BY และ HAVING ตัวอย่าง – ต้องการดูมูลค่าเฉลี่ยของสินค้าที่แต่ละ ผู้ค้าส่ง ส่งสินค้าให้กับเรา และให้นับ จำนวนสินค้าที่ผู้ค่าส่งส่งให้ด้วย โดยดู เฉพาะราคาเฉลี่ยที่ต่ำกว่า 100 –SELECT V_CODE, COUNT(P_CODE), AVG(P_PRICE) FROM PRODUCT WHERE V_CODE <> NULL GROUP BY V_CODE HAVING AVG(P_PRICE) < 100;

32 GROUP BY และ HAVING ตัวอย่าง – ใช้ Alias ( ชื่อแทน ) เพื่อการแสดงผลที่ดี ยิ่งขึ้น –SELECT V_CODE, COUNT(P_CODE) AS AMOUNT_OF_PRODUCT, AVG(P_PRICE) AS PRICE_AVERAGE FROM PRODUCT WHERE V_CODE <> NULL GROUP BY V_CODE HAVING AVG(P_PRICE) < 100;

33 GROUP BY และ HAVING ตัวอย่าง – ต้องการดูมูลค่ารวมของสินค้าที่แต่ละผู้ค้าส่ง ส่งสินค้าให้กับเรา และให้แสดงผลเรียงตาม ราคาจากมากไปหาน้อย –SELECT V_CODE, SUM(P_ONHAND * P_PRICE) AS TOTAL_PRICE FROM PRODUCT WHERE V_CODE <> NULL GROUP BY V_CODE ORDER BY SUM(P_ONHAND * P_PRICE) DESC;

34 การแสดงผลจากหลายตาราง โดยการ Join ( เชื่อม ) ตัวอย่าง – ต้องการดูรายละเอียดสินค้า และต้องการ ทราบชื่อผู้ค้าส่ง พนักงานที่เราติดต่อ และที่อยู่ของผู้ค้าส่ง –SELECT PRODUCT.P_DESCRIPT, PRODUCT.P_PRICE, VENDOR.V_NAME, VENDOR.V_CONTACT, VENDOR.V_AREACODE, VENDOR.V_PHONE FROM PRODUCT, VENDOR WHERE PRODUCT.V_CODE = VENDOR.V_CODE;

35 การแสดงผลจากหลายตาราง โดยการ Join ( เชื่อม ) ตัวอย่าง – ต้องการดูรายละเอียดสินค้าและผู้ค้าส่ง ที่ส่ง สินค้า หลังวันที่ 15-JAN-2004 –SELECT PRODUCT.P_DESCRIPT, PRODUCT.P_INDATE, PRODUCT.P_PRICE, VENDOR.V_NAME, VENDOR.V_AREACODE, VENDOR.V_PHONE FROM PRODUCT, VENDOR WHERE PRODUCT.V_CODE = VENDOR.V_CODE AND P_INDATE > #15-JAN- 2004#;

36 อ้างอิง Database system : Design, Implementation & Management 6 th edition, Rob & Coronel ระบบฐานข้อมูล รศ. ดร. วิเชียร เปรมชัยสวัสดิ์ ระบบฐานข้อมูล รศ. ศิริลักษณ์ โรจนกิจอำนวย


ดาวน์โหลด ppt SQL - Structure Query Language (Part 2) ภาษามาตรฐานสำหรับนิยาม ข้อมูลและการใช้ข้อมูล 4122206A ระบบจัดการฐานข้อมูล 3(2-2) อ. ชนิดา คำเพ็ง สาขาวิชาเทคโนโลยีสารสนเทศ.

งานนำเสนอที่คล้ายกัน


Ads by Google