SQL Structured Query Language SQL v Database Relational
ภาษา SQL • Structured Query Language
ภาษา SQL vสำหรบใชกบ Database Relational select name from student
คำสง • CREATE TABLE SQL : DDL ����� – ������Constraint ���� CREATE TABLE EMPLOYEE ( ID CHAR(5) NAME VARCHAR(35) ADDRESS VARCHAR(15) PHONE CHAR(8) E-MAIL CHAR(1) PRIMARY KEY (ID) ); NOT NULL , NOT NULL , ��� ID ���� PK
คำสง SQL : DDL CREATE TABLE PRODUCT ( P_CODE VARCHAR(10) NOT NULL , P_DESCRIPT VARCHAR(35) NOT NULL , P_INDATE NOT NULL , P_ONHAND SMALLINT NOT NULL , P_MIN SMALLINT NOT NULL , P_PRICE NUMBER NOT NULL , P_DISCOUNT NUMBER NOT NULL , ID CHAR(5) , ��� ID ���� FK PRIMARY KEY (P_CODE) , FOREIGN KEY (ID) REFERENCES EMPLOYEE(ID) );
คำสง v ALTER TABLE : เปลยนแปลงตาราง SQL : DDL § ตวอยาง • ALTER TABLE PRODUCT ADD SALECODE VARCHAR(10); • ALTER TABLE PRODUCT ALTER Column SALECODE VARCHAR(50); • ALTER TABLE PRODUCT DROP SALECODE;
คำสง SQL : DDL v DROP TABLE : ลบตาราง § รปแบบการใชคำสง DROP TABLE ชอตาราง ; § ตวอยาง DROP TABLE PRODUCT; DROP TABLE EMPLOYEE; DROP TABLE PROJECT;
คำสง Employees v ตวอยาง Emp_ID 001 SQL : DML First_name Last_name Address ������� �� 002 ������ แสดงชอและนามสกลของพนกงาน ��� SELECT First_name, Last_name FROM Employees; First_name Last_name ������
คำสง Employees v ตวอยาง Emp_ID 001 SQL : DML First_name Last_name Address ������� �� 002 ������ แสดงขอมลทงหมดของพนกงาน ��� SELECT * FROM Employees; Emp_ID 001 First_name Last_name Address ������� ��
การใช Between…AND. … Emp_ID 001 First_name Last_name Address Salary Employees 15000 ����� 002 6000 ������ v ตวอยาง แสดงชอ และเงนเดอนของพนกงาน � โดยจะแสดงขอมลเฉพาะพนกงานทมเงนเดอน 6000 ถง 15000 003 5000 ����� SELECT First_name, Salary FROM Employees WHERE Salary between 6000 AND 15000; First_name Salary ����� 15000 6000 ������
การใช DISTINCT vตวอยาง § SELECT DISTINCT V_CODE FROM PRODUCT; ����
ตวอยาง : SELECT DISTINCT Amphur ���� FROM Personal ������� Personal First. Name Last. Name Amphur ����� �� ����� ������
การใช EXISTS Customer. ID Name Email Country. Code Budget Used C 001 Win Weerachai win. weerachai@thaicreate. com TH 1000000 600000 C 002 John Smith john. smith@thaicreate. com EN 2000000 800000 C 003 Jame Born jame. born@thaicreate. com US 3000000 600000 C 004 Chalee Angel chalee. angel@thaicreate. com US 4000000 100000 Email Country. Code Customer. ID Name Budget Used C 001 Win Weerachai win. weerachai@thaicreate. com TH 1000000 600000 C 002 John Smith john. smith@thaicreate. com EN 2000000 800000 C 004 Chalee Angel chalee. angel@thaicreate. com US 4000000 100000 Table : customer 1 Table : customer 2
การใช EXISTS Sample 1 ����������� customer 1 ������������� customer 2 ������������� SELECT * FROM customer 1 WHERE EXISTS (SELECT * FROM customer 2) Customer. ID Name Email Country. Code Budget Used C 001 Win Weerachai win. weerachai@thaicreate. com TH 1000000 600000 C 002 John Smith john. smith@thaicreate. com EN 2000000 800000 C 004 Chalee Angel chalee. angel@thaicreate. com US 4000000 100000
ตวอยาง : ORDER BY SELECT * ���� FROM Address ORDER BY Zip. Code DESC Address Amphur Zip. Code 56000 ������ ��� 56002 56001 �� ������� Amphur Zip. Code ��� 56002 �� 56001 ������ 56000 ����
���� , ����������������� Select Id, Name, Addr, Curr_Bal From customer order by Curr_Bal desc; Id Name Addr Curr_Bal ----------- ---197 ������ 500000 110 ���������� 200000 217 ����������� 200000 309 ������� 150000
Emp_ID 001 การใช ALIAS First_name Last_name Address Salary Employees 15000 ����� 002 6000 ������ v ตวอยาง แสดงรหสและชอของพนกงาน � โดยมการเปลยนชอคอลมนรหส เปน “ID” 003 5000 ����� ID First_name SELECT Emp_ID AS ID, First_name FROM Employees WHERE Salary between 6000 AND 15000; 001 002 003 ������
ฟงกชนเดยว function( (Single Row
ฟงกชนเดยว function( (Single Row ��������� DATE SYSDATE ������������ Oracle Database SELECT sysdate as "Date" FROM dual;
ฟงกชนสรป (Aggregate function(
Aggregate function vตวอยาง § ตองการนบจำนวนผคาสงทงหมดททำการส งสนคาใหเรา § SELECT COUNT(*) FROM ) SELECT DISTINCT V_CODE FROM PRODUCT WHERE V_CODE IS NOT NULL; (
Aggregate function vตวอยาง § ตองการดรายละเอยดของสนคาทแพงทสดในรา น § SELECT P_CODE, P_DESCRIPT, P_PRICE FROM PRODUCT WHERE P_PRICE = (SELECT MAX(P_PRICE ( FROM PRODUCT; (
Aggregate function vตวอยาง § ตองการดรายละเอยดของสนคาทถกทสดในรา น § SELECT P_CODE, P_DESCRIPT, P_PRICE FROM PRODUCT WHERE P_PRICE = (SELECT MIN(P_PRICE ( FROM PRODUCT; (
ตวอยาง : SUM SELECT Name, SUM(Amount) ���� FROM Income Name ANT BAT ANT ������� Amount 5500 4500 7100 Name ANT BAT ANT SUM(Amount) 17100
Aggregate function vตวอยาง § ตองการดสนคาทมราคาสงกวาราคาสนคาเฉล ย § SELECT P_DESCRIPT, P_ONHAND, P_PRICE FROM PRODUCT WHERE P_PRICE > (SELECT AVG(P_PRICE ( FROM PRODUCT( ORDER BY P_PRICE DESC;
ตวอยาง : ใช GROUP BY SELECT Name, SUM(Amount) ���� FROM Income GROUP BY Name Income Name ANT BAT ANT ������� Amount 5500 4500 7100 Name ANT BAT SUM(Amount) 12600 4500
ตวอยาง : ใช GROUP BY และ HAVING SELECT Name, SUM(Amount) ���� FROM Income GROUP BY Name HAVING NAME = “ANT” ������� Income Name ANT BAT ANT Amount 5500 4500 7100 Name ANT SUM(Amount) 12600
GROUP BY และ HAVING vตวอยาง § ใช 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;
การแสดงผลจากหลายตารางโดยการ Join (เชอม ( vตวอยาง § ตองการดรายละเอยดสนคาและผคาสง ทสงสนคา หลงวนท 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#;
คำสง v INSERT : เพมแถว § รปแบบการใชคำสง INSERT INTO ชอตาราง § ตวอยาง SQL : DML (Row) ลงใน Table VALUES (ขอมลทกคอลมน ) INSERT INTO VENDOR VALUES ('V 0001', 'บรษทไบรซน ', 'สมย ', '615', '223 -3234', 'TN', 'Y'); INSERT INTO PRODUCT VALUES ('P 0000001', 'หวพนส ', '03 -NOV-2003', 8, 5, 1090. 99, 0. 00, 'V 0011; (' INSERT INTO PRODUCT VALUES ('P 0000010', 'คอน 12 ปอนด ', '03 -JAN-2004', 8, 5, 140. 40, 0. 05, NULL);
ตวอยาง : INSERT INTO Orders(Prod. ID, Product, Emp. ID) VALUES (999, “Ram”, “ 02”) Orders Prod. ID 234 657 865 Product Printer Table Chair Emp. ID 01 03 03 Prod. ID 234 657 865 999 Product Printer Table Chair Ram Emp. ID 01 03 03 02
ตวอยาง : UPDATE แบบไมระบแถว UPDATE Employees SET Name = “FOX” Employees Emp. ID 01 02 03 04 Employees Name ANT BAT CAT DOG Emp. ID 01 02 03 04 Name FOX FOX
ตวอยาง : UPDATE แบบระบแถว (WHERE( UPDATE Employees SET Name = “FOX” WHERE Emp. ID = “ 04” Employees Emp. ID 01 02 03 04 Employees Name ANT BAT CAT DOG Emp. ID 01 02 03 04 Name ANT BAT CAT FOX
ตวอยาง : DELETE แบบระบแถว (WHERE( DELETE FROM Employees WHERE Emp. ID = “ 04” Employees Emp. ID 01 02 03 04 Employees Name ANT BAT CAT FOX Emp. ID 01 02 03 Name ANT BAT CAT
ตวอยาง : DELETE แบบไมระบแถว DELETE FROM Employees Emp. ID 01 02 03 04 Employees Name ANT BAT CAT FOX Emp. ID Name
- Slides: 123