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

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

SQL [ Standard Query Language ]

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


งานนำเสนอเรื่อง: "SQL [ Standard Query Language ]"— ใบสำเนางานนำเสนอ:

1 SQL [ Standard Query Language ]
ภาษาฐานข้อมูล SQL [ Standard Query Language ]

2 ภาษาฐานข้อมูล [SQL] ภาษาสอบถามเชิงโครงสร้างหรือภาษาเอสคิวแอล (Structured Query Language : SQL) เป็นภาษาที่พัฒนาขึ้นมาโดยบริษัทไอบีเอ็ม ประมาณต้น ทศวรรษ 1970 สถาบันมาตรฐานแห่งชาติอเมริกัน (ANAI) ได้กำหนด รูปแบบภาษา SQL มาตรฐาน (International Standard Database Language SQL) ขึ้นมาเพื่อให้เป็นมาตรฐาน ทั่วไปของภาษานี้

3 ภาษาฐานข้อมูล [SQL] SQL เป็นส่วนหนึ่งของระบบฐานข้อมูลแบบรีเลชั่นเนล (Relational Database) ที่ได้รับความนิยมมาก เพราะง่าย ต่อความเข้าใจ และอยู่ในรูปภาษาอังกฤษ SQL ใช้ในการจัดการข้อมูลของระบบฐานข้อมูลเชิงสัมพันธ์ สามารถใช้งานได้กับเครื่องคอมพิวเตอร์หลายระดับ ซอฟต์แวร์ระบบจัดการฐานข้อมูล (DBMS) ที่สนับสนุนการ ใช้คำสั่ง SQL ได้แก่ DB2, MS-SQL, MS-Access ซึ่ง ระบบจัดการฐานข้อมูลแต่ละตัวจะแตกต่างกันไป

4 ภาษาฐานข้อมูล [SQL] นอกจากนี้ภาษา SQL ถูกนำมาใช้เขียนร่วมกับโปรแกรม ภาษาต่างๆ เช่น ภาษา C/C++, Visual Basic และ JavaScript เป็นต้น วัตถุประสงค์ของ SQL 1. สร้างฐานข้อมูลและ ตาราง สนับสนุนการจัดการฐานข้อมูล ซึ่งประกอบด้วย การเพิ่ม การปรับปรุง และการลบข้อมูล สนับสนุนการเรียกใช้หรือ ค้นหาข้อมูล

5 ข้อตกลงมาตรฐานในการใช้คำสั่ง SQL
< > คือ ชื่อต่าง ๆ หรือนิพจน์ที่ผู้ใช้จะต้องกำหนดค่าขึ้นมา (....) คือ สามารถจะระบุเพิ่มอีกตามสิ่งที่ระบุมาแล้วข้างหน้า [ ] คือ คำสั่งนั้นจะมีสิ่งที่ระบุไว้ในเครื่องหมายนี้หรือไม่ก็ได้ ::= คือ ส่วนที่อยู่ด้านขวาของเครื่องหมายนี้เป็นคำอธิบายหรือ คำนิยามของสิ่งที่อยู่ด้านซ้าย

6 ข้อตกลงมาตรฐานในการใช้คำสั่ง SQL
| คือ จะเลือกใช้สิ่งใดสิ่งหนึ่งที่อยู่ด้านซ้ายหรือขวาก็ได้ COLUMN NAME คือ ชื่อของแอตทริบิวต์ของตาราง WIDTH คือ ขนาดความกว้างของข้อมูล DATA TYPE คือ ประเภทค่าของข้อมูล นอกจากนี้ยังมีตัวแปรที่ใช้กำหนดโครงสร้างข้อมูล ดังนี้

7 ตัวแปรที่ใช้กำหนดโครงสร้างข้อมูล
ประเภทข้อมูล ความหมาย SMALLINT เลขจำนวนเต็ม ค่าระหว่าง    ถึง  99999 INTEGER เลขจำนวนเต็มความกว้าง ประมาณ -10 หลัก ถึง+ 11 หลัก NUMBER  (X,Y) เก็บจำนวนตัวเลขที่มีความกว้างรวม X หลัก และมีทศนิยม  Y  ตำแหน่ง FLOAT  (X,Y) เก็บจำนวนตัวเลขที่เขียนในรูปของ 10 ยกกำลัง

8 ตัวแปรที่ใช้กำหนดโครงสร้างข้อมูล
ประเภทข้อมูล ความหมาย CHAR  (N) เก็บสายอักขระที่มีขนาดคงที่ตามที่ระบุ VARCHER  (M) เก็บสายอักขระที่มีขนาดไม่คงที่ DATE เก็บ  เดือน/วัน/ปี LOGICAL เก็บค่าตรรกะ คือ จริง  (T หรือ True)  หรือ เท็จ (F หรือ False)

9 ประเภทของคำสั่งภาษา SQL
1. ภาษานิยามข้อมูล (Data Definition Language : DDL) ใช้ในการสร้างฐานข้อมูล กำหนดโครงสร้างข้อมูลว่ามี Attributeใด ชนิดของข้อมูล รวมทั้งการเปลี่ยนแปลงตาราง และการสร้างดัชนี คำสั่ง : CREATE คือ คำสั่งที่ใช้ในการสร้าง DROP คือ คำสั่งที่ใช้ในการลบ ALTER คือ คำสั่งที่ใช้ในการเปลี่ยนแปลงโครงสร้าง

10 Table Structure Create Table เป็นคำสั่งที่ใช้ในการสร้างตารางใหม่ (Create New Table) ในฐานข้อมูล รูปแบบคำสั่งการสร้างตาราง CREATE TABLE table_name (<column name_1> <data type>, <column name_2> <data type>, ..…, <column name_n> <data type> );

11 Table Structure ตัวอย่างคำสั่งในการสร้างตาราง CREATE TABLE Employee
(Empnum CHAR(4) PRIMARY KEY NOT NULL , Firstname CHAR (15), Last name CHAR(25), Birthdate DATE, Salary NUMBER);

12 Table Structure คำสั่งที่ใช้ในการเพิ่มคอลัมน์ในตาราง
รูปแบบ ALTER TABLE <tablename> เพิ่ม ADD <Columnname> <data type> ตัวอย่าง ALTER TABLE Employee ADD Age INTEGER;

13 Table Structure คำสั่งที่ใช้ในการลบคอลัมน์ในตาราง
รูปแบบ ALTER TABLE <tablename> ลบ DROP <Columnname> ตัวอย่าง ALTER TABLE Employee DROP Birthdate;

14 Table Structure คำสั่งที่ใช้ในการลบตาราง
รูปแบบ DROP TABLE <tablename> ตัวอย่าง DROP TABLE Employee;

15 Index Structure คำสั่งที่ใช้ในการสร้าง index
รูปแบบ CREATE INDEX <Index_name> ON table_name (attribute_name) ตัวอย่าง CREATE INDEX Pro_Index ON Product (Pro_Name);

16 Index Structure คำสั่งที่ใช้ในการลบ index
รูปแบบ ALTER TABLE <table_name> DROP INDEX <Index_name> ตัวอย่าง ALTER INDEX Person DROP INDEX Person_Index;

17 View Structure การสร้างวิว : CREATE VIEW
เป็นการสร้างตารางสมมติขึ้นมาให้กับผู้ใช้งาน โดยการดึงข้อมูล บางส่วนมาจากฐานข้อมูล เพื่อให้ผู้ใช้งานเรียกข้อมูลที่ต้องการจาก วิวที่กำหนดให้เท่านั้น คำสั่งที่ใช้ในการสร้างวิว คือ CREATE VIEW view-name [column_name1, column_name2,...] AS SELECT attribute1,attribute2,.. FROM table-name WHERE condition

18 View Structure ตัวอย่าง CREATE VIEW my_view1
AS SELECT Pro_id, Pro_name, Pro_price FROM PRODUCT WHERE Supid = 5 ;

19 View Structure การลบวิว ใช้คำสั่ง รูปแบบ DROP VIEW view-name
ตัวอย่าง DROP VIEW MY_VIEW1

20 ประเภทของคำสั่งภาษา SQL
2. ภาษาจัดการข้อมูล (Data Manipulation Language :DML) ใช้ในการเรียกใช้ เพิ่ม ลบ และเปลี่ยนแปลงข้อมูลในตาราง คำสั่ง : SELECT คือ คำสั่งที่ใช้ในการเรียกข้อมูลในตาราง, INSERT คือ คำสั่งในการเพิ่มข้อมูลในตาราง UPDATE คือ คำสั่งในการแก้ไขข้อมูลในตาราง DELETE คือ คำสั่งในการลบข้อมูลในตาราง

21 Insert Structure คำสั่งการเพิ่มข้อมูลในตารางจะใช้คำสั่ง INSERT จะมีอยู่ 2 รูปแบบคือ 1.1 คำสั่งการเพิ่มข้อมูลทีละแถวโดยระบุข้อมูลเข้าไปโดยตรง รูปแบบของคำสั่งเป็นดังนี้ INSERT INTO <tablename> [(column 1, column 2,…)] VALUE(<value1,value2, …>);

22 Insert Structure ตัวอย่าง ถ้าต้องการจะใส่ข้อมูลทุกคอลัมน์ลงในตารางลูกค้า INSERT INTO Sales VALUES( 1001, ‘Chaiwat’, ‘Bangkok’, 0.12); SALENO SALENAME ADDRESS SALECOM 1001 Chaiwat Bangkok 0.12

23 Insert Structure ตัวอย่าง ถ้าต้องการจะใส่ข้อมูลบางคอลัมน์ เช่น ชื่อเมือง Bangkok ชื่อลูกค้า Arlee และหมายเลขลูกค้า 2001 ลงในตารางลูกค้า ใช้คำสั่งดังนี้ INSERT INTO Customer (ADDRESS, CUSNAME,CUSNO) VALUES( 'Bangkok','Arlee', 2001); CUSNO CUSNAME ADDRESS RATING SALENO 2001 Arlee Bangkok

24 Update Structure รูปแบบ คำสั่งที่ใช้ในการแก้ไขข้อมูลในตาราง
UPDATE table_name SET column_name=‘value’ WHERE condition; ตัวอย่าง UPDATE Person SET Firstname=‘MR.’ + Firstname WHERE sex=‘man’;

25 Delete Structure รูปแบบ คำสั่งที่ใช้ในการลบข้อมูลในตาราง
DELETE FROM table_name WHERE condition; ตัวอย่าง DELETE FROM Person WHERE Position NOT IN (‘Manager’);

26 SELECT * FROM Employee;
Select Structure การเรียกดูข้อมูลจากตารางสามารถทำได้หลายรูปแบบทั้งที่มี เงื่อนไขหรือไม่มีเงื่อนไข หรือแม้แต่ดูข้อมูลจากหลายตาราง โดย คำสั่งที่ใช้ในการเรียกดูข้อมูล คือ คำสั่ง SELECT 1. การเรียกดูข้อมูลทั้งตาราง รูปแบบ SELECT * FROM <table name>; ตัวอย่าง ให้เรียกดูข้อมูลทั้งหมดของตาราง EMPLOYEE SELECT * FROM Employee;

27 Select Structure 2. การเรียกดูข้อมูลเพียงบางคอลัมน์ รูปแบบ
2. การเรียกดูข้อมูลเพียงบางคอลัมน์ รูปแบบ SELECT <column 1, column 2, ….> FROM <table name>; ตัวอย่าง ให้เรียกดูข้อมูลรหัสพนักงาน ชื่อ และเงินเดือน SELECT Empnum, Empname, Salary FROM Employee;

28 Select Structure 3. การเรียกดูโดยไม่ให้แสดงข้อมูลซ้ำกัน
3. การเรียกดูโดยไม่ให้แสดงข้อมูลซ้ำกัน เมื่อต้องการดูข้อมูลจากตารางโดยไม่ให้แสดงข้อมูลที่ซ้ำซ้อนออกมา จะใช้คำว่า DISTINCT กำกับ หลังคำว่า SELECT รูปแบบ SELECT DISTINCT<column 1,column 2,….> FROM <table name>;

29 Select Structure ตัวอย่าง ให้เรียกดูข้อมูลรหัสแผนก และตำแหน่งงานของพนักงานที่ไม่ซ้ำกัน SELECT DISTINCT Depno, Position FROM Employee;

30 4. การเรียกดูข้อมูลเป็นนิพจน์ทางคณิตศาสตร์
Select Structure 4. การเรียกดูข้อมูลเป็นนิพจน์ทางคณิตศาสตร์ เครื่องหมาย ความหมาย + บวก - ลบ * คูณ / หาร

31 Select Structure ตัวอย่าง ต้องการดูข้อมูลชื่อพนักงานและเงินเดือนต่อปีของพนักงาน SELECT Empname, Salary*12 FROM Employee; ตัวอย่าง ต้องการดูข้อมูลรหัสพนักงาน ชื่อ เงินเดือนใหม่ต่อปี โดยที่เงินเดือนใหม่จะปรับขึ้นเงินเดือนจากเดิมอีกคนละ 10 % SELECT Empnum, Empname, (Salary*1.1)*12 FROM Employee;

32 Select Structure 5. การเรียกดูโดยการจัดเรียงข้อมูล
ข้อมูลที่ถูกเรียกจะจัดเรียงตามคอลัมน์ที่ต้องการ เช่น ให้เรียงชื่อตามตัวอักษร หรือให้เรียงข้อมูลตามเงินเดือน เป็นต้น รูปแบบ SELECT <column 1, ….> FROM <table name> ORDER BY <column 1,…..> [[ASC][DESC]];

33 Select Structure ORDER BY คือการสั่งให้จัดเรียงผลลัพธ์ตามคอลัมน์ที่ระบุต่อท้าย ORDER BY เรียงจากมากมาน้อยให้ระบุคำว่า DESC แต่ถ้าเรียงน้อยไปหามาก ไม่จำเป็นต้องระบุ ASC ตัวอย่าง ให้แสดงชื่อ ตำแหน่งและวันที่เริ่มทำงาน โดยให้เรียงตามวันที่เริ่มทำงานครั้งล่าสุด SELECT Empname, Position, Hiredate FROM Employee ORDER BY Hiredate DESC;

34 Select Structure ตัวอย่าง ให้แสดงชื่อ แสดงเงินเดือน ของพนักงานโดยเรียงจากเงินเดือนน้อยไปหามาก โดยให้เปลี่ยนชื่อเงินเดือน เป็นรายได้ ซึ่งรายได้ดังกล่าวจะเป็นเงินเดือนรวมกับโบนัส 15% SELECT Empname, (Salary*1.15) As Income FROM Employee ORDER BY Income;

35 Work : Select Structure
แสดงชื่อ เงินเดือนและตำแหน่งของพนักงาน แสดงชื่อแผนกและสถานที่ของแผนกโดยเรียงตามชื่อแผนก แสดงข้อมูลรายละเอียดทั้งหมดของตาราง PROJECT แสดงชื่อโครงการ วันที่เริ่มโครงการและวันทีสิ้นสุดโครงการ โดยให้ เรียงตามวันที่เริ่มโครงการล่าสุด แสดงรหัสพนักงานและจำนวนชั่วโมงภายใน 1 เดือน (24วัน) เปลี่ยนชื่อเป็น MONTH แสดงรหัสแผนก ชื่อแผนกที่ไม่ซ้ำกัน แสดงชื่อ เงินเดือนพนักงานที่บวกเพิ่มเบี้ยขยันให้คนละ 500 บาท

36 1. การเรียกดูข้อมูลโดยใช้โอเปอเรเตอร์ทางตรรกะ
1. การเรียกดูข้อมูลโดยใช้โอเปอเรเตอร์ทางตรรกะ โอเปอเรเตอร์ ความหมาย = เท่ากับ > มากกว่า >= มากกว่าเท่ากับ < น้อยกว่า <= น้อยกว่าเท่ากับ <> ไม่เท่ากับ

37 1. การเรียกดูข้อมูลโดยใช้โอเปอเรเตอร์ทางตรรกะ
1. การเรียกดูข้อมูลโดยใช้โอเปอเรเตอร์ทางตรรกะ EX : แสดงรหัส,ชื่อพนักงาน,รหัสแผนกของพนักงานที่มี ตำแหน่ง MANAGER SELECT Empnum, Empname, Depno FROM Employee WHERE Position=‘Manager’;

38 ตัวอย่าง : แสดงชื่อพนักงาน ตำแหน่ง เงินเดือนพนักงานที่มีมากกว่าเท่ากับ 25000 บาท
SELECT Empname, Position, Salary FROM Employee WHERE Salary >=25000;

39 ตัวอย่าง แสดงชื่อพนักงานที่มีเงินเดือนต่อปีมากกว่า 300000 บาท
SELECT Empname, Salary FROM Employee WHERE Salary*12 > ;

40 2. การเรียกดูข้อมูลโดยใช้โอเปอเรเตอร์ของ SQL
1) BETWEEN…AND… กำหนดเงื่อนไขระหว่างค่าสองค่า จะใช้แสดงต่อท้ายชื่อคอลัมน์ที่ถูกระบุให้เป็นเงื่อนไข ตัวอย่าง - แสดงชื่อ เงินเดือนของพนักงานที่มีเงินเดือนระหว่าง ถึง บาท SELECT Empname, Salary FROM Employee WHERE Salary BETWEEN AND 50000;

41 2. การเรียกดูข้อมูลโดยใช้โอเปอเรเตอร์ของ SQL
2. IN กำหนดเงื่อนไขของคอลัมน์ที่ต้องการเป็นกลุ่มของข้อมูล โดย IN จะแสดงต่อท้ายชื่อคอลัมน์ ตัวอย่าง แสดงชื่อ เงินเดือนและรหัสผู้บังคับบัญชาเป็น และ 3004 SELECT Empname, Salary, Mgrno FROM Employee WHERE Mgrno IN (‘1002’,’2002’,’3004’);

42 2. การเรียกดูข้อมูลโดยใช้โอเปอเรเตอร์ของ SQL
3. LIKE ค้นหาข้อมูลของคอลัมน์ที่เก็บข้อมูลประเภทตัวอักษรเท่านั้น ตัวอย่าง - แสดงชื่อแผนกที่ขึ้นต้นด้วย A SELECT Depname FROM Department WHERE Depname LIKE ‘A%’;

43 2. การเรียกดูข้อมูลโดยใช้โอเปอเรเตอร์ของ SQL
ตัวอย่าง - แสดงชื่อพนักงานที่มีตัวอักษร T อยู่ SELECT Empname FROM Employee WHERE Empname LIKE ‘%T%’;

44 2. การเรียกดูข้อมูลโดยใช้โอเปอเรเตอร์ของ SQL
4. IS NULL เป็นโอเปอเรเตอร์ที่ใช้ในการแสดงค่าของคอลัมน์ที่มีค่าเป็นค่าว่าง หรือไม่มีค่า ตัวอย่าง - ให้แสดงชื่อคอลัมน์ที่ไม่มีผู้บังคับบัญชา SELECT Empname FROM Employee WHERE Mgrno IS NULL;

45 3. การเรียกดูข้อมูลโดยใช้โอเปอเรเตอร์ของบูลีน
AND ใช้เชื่อมเงื่อนไขสองเงื่อนไข โดยแสดงข้อมูลออกมาเป็นจริงตามเงื่อนไขทั้งสอง OR ใช้เชื่อมเงื่อนไข แสดงข้อมูลออกมาเป็นจริงตามเงื่อนไขใดเงื่อนไขหนึ่ง NOT ใช้แสดงเงื่อนไขใดเงื่อนไขหนึ่ง แสดงข้อมูลที่ไม่เป็นไปตามเงื่อนไข

46 3. การเรียกดูข้อมูลโดยใช้โอเปอเรเตอร์ของบูลีน
ตัวอย่าง - แสดงชื่อ ตำแหน่งและเงินเดือน ที่มีตำแหน่ง MANAGER และมีเงินเดือนระหว่าง กับ 50000 SELECT Empname, Position, Salary FROM Employee WHERE Salary BETWEEN AND AND Position=‘Manager’;

47 3. การเรียกดูข้อมูลโดยใช้โอเปอเรเตอร์ของบูลีน
ตัวอย่าง - แสดงชื่อ ตำแหน่ง เงินเดือนที่มากกว่า และมีตำแหน่งเป็น MANAGER หรือ SUPERVISOR SELECT Empname, Position, Salary FROM Employee WHERE Salary > AND (Position= ‘Manager’ OR Position= ‘Supervisor’);

48 3. การเรียกดูข้อมูลโดยใช้โอเปอเรเตอร์ของบูลีน
ตัวอย่าง - แสดงข้อมูลพนักงานที่เงินเดือนน้อยกว่า และไม่ได้อยู่แผนกรหัส 20 SELECT * FROM Employee WHERE NOT (Salary < AND Depno=‘20’);

49 การแสดงข้อมูลด้วยฟังก์ชันที่เกี่ยวกับการรวม
หาค่าเงินเดือนเฉลี่ยของพนักงาน SELECT AVG(Salary) FROM Employee; นับจำนวนพนักงานของบริษัทที่อยู่แผนกรหัส 30 SELECT COUNT (*) FROM Employee WHERE Depno=‘30’;

50 การแสดงข้อมูลด้วยฟังก์ชันที่เกี่ยวกับการรวม
ให้คำนวณค่าสูงสุด และต่ำสุดของเงินเดือนพนักงาน SELECT MAX(Salary), MIN(Salary) FROM Employee; หาผลรวมของเงินเดือนของพนักงานที่อยู่แผนก 20 SELECT SUM(Salary) FROM Employee WHERE DEPNO=‘20’;

51 การใช้อนุประโยค GROUP BY
แสดงข้อมูลรหัสแผนกและเงินเดือนเฉลี่ยของแผนกต่างๆ SELECT Depno, AVG(Salary) FROM Employee GROUP BY Depno;

52 การใช้อนุประโยค GROUP BY
แสดงข้อมูลรหัสแผนก เงินเดือนสูงสุด และต่ำสุดแต่ละแผนก SELECT Depno, MAX(Salary), MIN(Salary) FROM Employee GROUP BY Depno;

53 การใช้อนุประโยค GROUP BY
แสดงข้อมูลตำแหน่งงานและเงินเดือนเฉลี่ยของแต่ละ ตำแหน่งงาน โดยไม่ต้องแสดงข้อมูลของพนักงานที่มี ตำแหน่ง Clerk SELECT Position, AVG(Salary) FROM Employee WHERE Position <> ‘Clerk’ GROUP BY Position;

54 การใช้อนุประโยค HAVING
แสดงข้อมูลตำแหน่งงานและค่าเงินเดือนเฉลี่ยของแต่ละ ตำแหน่งงาน โดยแสดงการหาค่าเงินเดือนเฉลี่ยที่มากกว่า SELECT Position, AVG(Salary) FROM Employee GROUP BY Position HAVING AVG(Salary) > 20000;

55 ประเภทของคำสั่งภาษา SQL
3. ภาษาควบคุมข้อมูล (Data Control Language : DCL) ใช้ในการกำหนดสิทธิการอนุญาติ หรือ ยกเลิก การเข้าถึงฐานข้อมูล เพื่อป้องกันความปลอดภัยของฐานข้อมูล คำสั่ง : GRANT คือ คำสั่งในการกำหนดสิทธิการเข้าถึงข้อมูล REVOKE คือ คำสั่งการยกเลิกสิทธิการเข้าถึงข้อมูล


ดาวน์โหลด ppt SQL [ Standard Query Language ]

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


Ads by Google