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 SQL Command Structured Query Language

SQL Command Structured Query Language

Published by Aj.pan Rattanaumporn, 2019-08-29 07:05:56

Description: คำสั่ง SQL Command Structured Query Language หรือ SQL คือคำสั่งบริหารจัดการฐานข้อมูล (Database) โดยเฉพาะ Relational Database Management System (RDBMS)

Search

Read the Text Version

ตวั อย่าง: ใช้ 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


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