ตวั อย่าง: ใช้ GROUP BY ตวั อยา่ ง SELECT Name, SUM(Amount) FROM Income GROUP BY Name Income Amount ผลลพั ธ์ SUM(Amount) 5500 12600 Name 4500 Name 4500 ANT 7100 ANT BAT BAT ANT
ตวั อย่าง: ใช้ GROUP BY และ HAVING ตวั อยา่ ง SELECT Name, SUM(Amount) FROM Income Income GROUP BY Name Name HAVING NAME = “ANT” ANT BAT ผลลพั ธ์ ANT Amount Name SUM(Amount) 5500 ANT 12600 4500 7100
GROUP BY และ HAVING ตัวอย่าง ต้องการดูมูลค่ารวมของสินค้าทแ่ี ต่ละผู้ค้าส่ง ส่งสินค้าให้กบั เรา SELECT V_CODE, SUM(P_PRICE * P_ONHAND) FROM PRODUCT WHERE V_CODE <> NULL GROUP BY V_CODE;
GROUP BY และ HAVING ตัวอย่าง ต้องการดูมูลค่าเฉลย่ี ของสินค้าทแี่ ต่ละผู้ค้าส่ง ส่งสินค้าให้กบั เรา SELECT V_CODE, AVG(P_PRICE) FROM PRODUCT WHERE V_CODE <> NULL GROUP BY V_CODE;
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;
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;
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;
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;
การแสดงผลจากหลายตารางโดยการ 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;
การแสดงผลจากหลายตารางโดยการ 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#;
คาสั่ง SQL : DML INSERT : เพมิ่ แถว (Row) ลงใน Table รูปแบบการใช้คาส่ัง INSERT INTO ช่ือตาราง VALUES (ข้อมลู ทุกคอลมั น์) ตัวอย่าง INSERT INTO VENDOR VALUES ('V0001', 'บริษทั ไบรซัน', 'สมยั ', '615', '223-3234', 'TN', 'Y'); INSERT INTO PRODUCT VALUES ('P0000001', 'หัวพ่นสี', '03-NOV-2003', 8, 5, 1090.99, 0.00, 'V0011'); INSERT INTO PRODUCT VALUES ('P0000010', 'ค้อน 12 ปอนด์', '03-JAN-2004', 8, 5, 140.40, 0.05, NULL);
ตัวอย่าง: INSERT INSERT INTO Orders(ProdID, Product, EmpID) VALUES (999, “Ram”, “02”) Orders Product EmpID Orders Product EmpID Printer 01 Printer 01 ProdID Table 03 ProdID Table 03 234 Chair 03 234 Chair 03 657 657 Ram 02 865 865 999
คาส่ัง SQL : DML UPDATE : แก้ไขข้อมูลในตาราง รูปแบบการใช้คาส่ัง UPDATE ชื่อตาราง SET ช่ือคอลมั น์ = ข้อมูลใหม่ WHERE เงื่อนไข;
คาสั่ง SQL : DML UPDATE : แก้ไขข้อมูลใน Table ตวั อย่าง • UPDATE PRODUCT SET P_DATE = ’18-JAN-2004’ WHERE P_CODE = ‘P0000007’; • แก้ไขข้อมูลวนั ทส่ี ินค้าเข้าคลงั (P_DATE) โดยให้แก้ไขเฉพาะสินค้าท่ี มรี หัสสินค้า (P_CODE) เป็ น P0000007 ให้เป็ นวนั ทส่ี ินค้าเข้าคลงั เป็ น 18-JAN-2004
คาส่ัง SQL : DML UPDATE : แก้ไขข้อมูลใน Table ตวั อย่าง • UPDATE Book SET Author = ’สมโชค’ WHERE Book_name = ‘ระบบฐานข้อมูล’; • แก้ไขข้อมูลผู้แต่ง (Author) โดยให้แก้ไขเฉพาะหนังสือทชี่ ่ือระบบ ฐานข้อมูล (Book_name) ให้เป็ นผู้แต่งช่ือสมโชค
คาส่ัง SQL : DML UPDATE : แก้ไขข้อมูลใน Table ตัวอย่าง • UPDATE Book SET Author = ’สมควร’, publisher=‘ดอกหญ้า’ WHERE Book_id = ‘00015’; แก้ไขข้อมูลผู้แต่ง (Author) โดยให้แก้ไขเฉพาะหนังสือทมี่ รี หัส 00015 (Book_id) ให้เป็ นผู้แต่งชื่อสมโชค และสานักพมิ พ์ดอกหญ้า
ตวั อย่าง: UPDATE แบบไม่ระบุแถว UPDATE Employees SET Name = “FOX” Employees Name Employees Name ANT FOX EmpID BAT EmpID FOX 01 CAT 01 FOX 02 DOG 02 FOX 03 03 04 04
ตวั อย่าง: UPDATE แบบระบุแถว (WHERE) UPDATE Employees SET Name = “FOX” WHERE EmpID = “04” Employees Name Employees Name ANT ANT EmpID BAT EmpID BAT 01 CAT 01 CAT 02 DOG 02 FOX 03 03 04 04
คาสั่ง SQL : DML DELETE : ลบแถว (Row) ออกจากตาราง รูปแบบการใช้คาส่ัง DELETE FROM ชื่อตาราง WHERE เง่ือนไข; ตวั อย่าง DELETE FROM PRODUCT WHERE P_CODE = 'P0000016'; DELETE FROM PRODUCT WHERE P_MIN = 5;
ตวั อย่าง: DELETE แบบระบุแถว (WHERE) DELETE FROM Employees WHERE EmpID = “04” Employees Name Employees Name ANT ANT EmpID BAT EmpID BAT 01 CAT 01 CAT 02 FOX 02 03 03 04
ตัวอย่าง: DELETE แบบไม่ระบุแถว DELETE FROM Employees Employees Name Employees Name ANT EmpID BAT EmpID 01 CAT 02 FOX 03 04
3. Data Control Language : DCL เป็ นคาสั่งที่ใช้ในการกาหนดสิทธิการใช้งานใน ฐานข้อมูล ตัวอย่างคาสั่ง เช่น GRANT เป็ นคาส่ังให้สิทธ์ิผู้ใช้ (User)
ขอขอบคุณเอกสารทด่ี ี : อ้างองิ จาก Database system : Design, Implementation & Management 6th edition, Rob & Coronel ระบบฐานข้อมูล รศ. ดร. วเิ ชียร เปรมชัยสวสั ด์ิ ระบบฐานข้อมูล รศ. ศิริลกั ษณ์ โรจนกจิ อานวย http://www.thaicreate.com/tutorial/sql.html
Search
Read the Text Version
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123