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

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

SQL (Structured Query Language)

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


งานนำเสนอเรื่อง: "SQL (Structured Query Language)"— ใบสำเนางานนำเสนอ:

1 บทที่ 10 ภาษามาตรฐานสำหรับการนิยามข้อมูลและการใช้ข้อมูล (Structure Query Language : SQL)

2 SQL (Structured Query Language)
เป็นภาษามาตราฐานบนระบบฐานข้อมูลเชิงสัมพันธ์ ปัจจุบันมีซอฟต์แวร์ระบบจัดการฐานข้อมูล (DBMS) ที่ สนับสนุนการใช้คำสั่ง SQL เช่น ORACLE, DB2, MS-SQL, MS-Access นอกจากนี้ภาษา SQL ถูกนำมาใช้เขียนร่วมกับโปรแกรมภาษา ต่างๆ เช่น ภาษา C/C++, Visual Basic ,PHP, Java เป็นต้น

3 ประเภทของคำสั่งในภาษา SQL
ภาษานิยามข้อมูล (Data Definition Language : DDL) เป็นคำสั่งที่ใช้ในการสร้างฐานข้อมูล กำหนดโครงสร้างข้อมูลว่ามีคอลัมย์ใด ชนิดของข้อมูล รวมทั้งการเปลี่ยนแปลงตาราง และการสร้างดัชนี คำสั่ง : CREATE, DROP, ALTER ภาษาจัดการข้อมูล (Data Manipulation Language :DML) เป็นคำสั่งที่ใช้ในการเรียกใช้ เพิ่ม ลบ และเปลี่ยนแปลงข้อมูลในตาราง คำสั่ง : SELECT, INSERT, UPDATE, DELETE ภาษาควบคุมข้อมูล (Data Control Language : DCL) เป็นคำสั่งที่ใช้ในการกำหนดสิทธิการอนุญาติ หรือ ยกเลิก การเข้าถึงฐานข้อมูล เพื่อป้องกันความปลอดภัยของฐานข้อมูล คำสั่ง : GRANT, REVOKE

4 (Structure Query Language)
ภาษา SQL (Structure Query Language) ภาษานิยามข้อมูล (DDL) CREATE ALTER DROP ภาษาจัดการข้อมูล (DML) SELECT UPDATE INSERT DELETE ภาษาควบคุมข้อมูล (DCL) GRANT REVOKE

5 ภาษาสำหรับการนิยามข้อมูล DDL
คำสั่ง การทำงาน CREAT TABLE นิยามโครงสร้างข้อมูลในตารางที่สร้างขึ้น DROP TABLE ลบโครงสร้างข้อมูลออกจากระบบ ALTER TABLE แก้ไขปรับปรุงโครงสร้างตาราง

6 รายละเอียดข้อมูล (Data Dictionary) ของตารางที่ต้องการสร้างเพื่อเก็บข้อมูลในฐานข้อมูล
ชื่อตาราง ชื่อคอลัมน์ ประเภทข้อมูล ความหมาย อ้างถึง CUSTOMER PRODUCT IDcustomer (PK) Char (6) รหัสลูกค้า C_name Varchar(40) ชื่อลูกค้า C_address Varchar(30) ที่อยู่ C_Telephone Varchar(10) เบอร์โทรศัพท์ C_Creditlim number วงเงินการให้สินเชื่อ C_currbal ยอดสินเชื่อคงเหลือ IDproduct(PK) Char (6) รหัสสินค้า p_name Varchar(20) ชื่อสินค้า p_unitprice number ราคาต่อหน่วย(บาท) P_onhand จำนวนสินค้าคงเหลือ P_orderpt จำนวนต่ำสุดที่ต้องสั่งซื้อเพิ่ม P_orderqty จำนวนที่ต้องสั่งซื้อเพิ่ม

7 รายละเอียดข้อมูล (Data Dictionary)
ชื่อเทเบิล ชื่อคอลัมน์ ประเภทข้อมูล ความหมาย อ้างถึง EMPLOYEE ORDER IDemployee (PK) Char (6) รหัสพนักงาน e_name Varchar(40) ชื่อพนักงานขาย e_salary number(8,2) เงินเดือนปัจจุบัน e_address Varchar(30) ที่อยู่ e_telephone Char(10) เบอร์โทรศัพท์ IDorder(PK) Char (6) รหัสใบสั่งซื้อสินค้า IDproduct รหัสสินค้า product qty number จำนวนสินค้าที่สั่งซื้อ discount ส่วนลด(%) IDcustomer รหัสลูกค้า Customer IDemployee รหัสพนักงานขาย employee

8 การสร้างตาราง (Create Table)
การสร้างตารางด้วย SQL สามารถทำได้ด้วยคำสั่ง CREATE TABLE ซึ่งกำหนดลักษณะของข้อมูลเป็นคอลัมน์ โดยมีรูปแบบดังนี้ รูปแบบคำสั่ง CREATE TABLE <Table_name> ( ชื่อคอลัมย์ ประเภทข้อมูล [เงื่อนไข] ชื่อคอลัมย์ ประเภทข้อมูล [เงื่อนไข] … … … [PRIMARY KEY (ชื่อคอลัมน์,)] [FOREIGN KEY (ชื่อคอลัมน์) REFERENCES ชื่อตารางที่อ้างอิง(ชื่อคอลัมน์)]);

9 โจทย์ >> สร้างตาราง customer ตามที่ได้ออกแบบรายละเอียดตารางไว้
CREATE TABLE employee ( em_id char(6) NOT NULL UNIQUE, em_name varchar(20) NOT NULL, em_salary integer em_address varchar(100), PRIMARY KEY (em_id) ); SQL คำอธิบาย กำหนดให้ em_id เป็นคีย์หลัก ดังนั้นจะใส่ PRIMARY KEY (em_id) เข้าไปด้วย และในคอลัมน์ em_id ต้องมีค่าเสมอ(NOT NULL) และมีค่าไม่ซ้ำกัน (UNIQUE) และในแต่ละแถวคอลัมน์ em_name จะต้องมีค่าเสมอ (NOT NULL) เนื่องจากความเป็นจริงที่ข้อมูลพนักงานทุกคนต้องมีชื่อ

10 การเปลี่ยนโครงสร้างของตาราง (Alter Table)
เพิ่มคอลัมน์ให้กับตาราง ใช้คำสั่ง ADD ALTER TABLE <ชื่อตารางที่จะเปลี่ยนแปรง> ADD <ชื่อคอลัมน์> <ประเภทข้อมูล> ; รูปแบบ >> โจทย์ เพิ่มคอลัมน์ที่เป็นรหัสแผนก(dep_id) ในตาราง employee เพื่อบอกว่าพนักงานสังกัดอยู่แผนกใด SQL >> ALTER TABLE employee ADD dep_id char(6) ;

11 การเปลี่ยนโครงสร้างของตาราง (Alter Table) ลบคอลัมน์ใช้คำสั่ง DROP
รูปแบบ >> ALTER TABLE <ชื่อตารางที่ต้องการลบ> DROP <ชื่อคอลัมน์ที่ต้องการลบ> ; โจทย์ >> ลบคอลัมน์ที่เป็นรหัสแผนก (dep_id) ในตาราง employee SQL >> ALTER TABLE employee DROP dep_id ;

12 การแก้ไขคอลัมน์ในตาราง (MODIFY)
รูปแบบ >> ALTER TABLE <ชื่อตารางที่ต้องการแก้ไข> MODIFY <ชื่อคอลัมน์> <ประเภทของข้อมูล> ; โจทย์ >> เปลี่ยนขนาดของข้อมูลในคอลัมน์ dep_id ในตาราง employee จากขนาด 6 ตัวอักษร เป็นขนาด 5 ตัวอักษร SQL >> ALTER TABLE employee MODIFY (dep_id char(5)) ;

13 การลบตารางออกจากฐานข้อมูล (Drop Table)
รูปแบบ DROP TABLE <ชื่อตารางที่ต้องการลบ>; โจทย์ ต้องการลบเทเบิล ORDER ออกจากฐานข้อมูล DROP TABLE ORDER; DROP TABLE Order SQL

14 ภาษาสำหรับจัดการข้อมูล (DML)
คำสั่ง ความหมาย SELECT เรียกดูข้อมูลในที่เก็บในฐานข้อมูล UPDATE แก้ไขข้อมูลที่เก็บในฐานข้อมูล INSERT เพิ่มข้อมูลที่ต้องการเก็บในฐานข้อมูล DELETE ลบข้อมูลที่ไม่ต้องการในฐานข้อมูล

15 คำสั่งเรียกค้นข้อมูล (SELECT)

16 ตัวดำเนินการเชิงเปรียบเทียบ(Comparison Operators)
ความหมาย เครื่องหมายที่ใช้เปรียบเทียบ ตัวอย่าง เท่ากับ = X = Y ไม่เท่ากับ < > X < > Y มากกว่า > X > Y น้อยกว่า < X < Y มากกว่าหรือเท่ากับ >= X >= Y น้อยกว่าหรือเท่ากับ <= X <= Y

17 เครื่องหมาย Operator ที่ใช้สัญลักษณ์ทางตรรกศาสตร์
ความหมาย AND ใช้เชื่อมการกระทำ(Operand) ตั้งแต่ 2 ตัว ขึ้นไป ซึ่งนิพจน์จะเป็นจริงก็ต่อเมื่อทุก Operand จะต้องเป็นจริง OR ใช้เชื่อมการกระทำ(Operand) ตั้งแต่ 2 ตัว ขึ้นไป ซึ่งนิพจน์จะเป็นจริงก็ต่อเมื่อทุก Operand ตัวใดตัวหนึ่งหรือทุกตัวเป็นจริง NOT ใช้นำหน้าการกระทำ(Operand) ถ้านำหน้า Operand ที่เป็นจริง จะทำให้นิพจน์เป็นเท็จ ถ้านำหน้า Operand ที่เป็นเท็จ จะทำให้นิพจน์เป็นจริง

18 การสอบถามข้อมูล (SELECT)
FROM <ชื่อตาราง,…> WHERE <เงื่อนไขที่ต้องการระบุ> รูปแบบ >> SELECT เป็นคำสั่งให้ทำการเรียกค้นข้อมูลในคอลัมน์ของตาราง โดยสามารถระบุได้ 1 หรือมากว่า 1 คอลัมน์ ถ้ามากกว่าให้คั่นด้วยเครื่องหมาย , ถ้าต้องการเลือกทุกคอลัมน์ ให้ ใส่เครื่องหมาย * FROM บอกชื่อตารางที่ต้องการดูข้อมูล WHERE ใช้ในการระบุเงื่อนไขที่ต้องการค้น

19 คำสั่ง SQL อย่างง่ายจากตารางเดียว
1) คำสั่งให้แสดงข้อมูลของคอลัมน์ที่ต้องการ SELECT ชื่อคอลัมน์ที่1,ชื่อคอลัมน์ที่2,…. FROM ชื่อตาราง; 2) คำสั่งให้แสดงข้อมูลของทุกๆ คอลัมน์ SELECT * FROM ชื่อตาราง;

20 พนักงาน (รหัสพนักงาน,ชื่อสกุล,ที่อยู่,เบอร์โทร,เงินเดือน)
ตัวอย่าง พนักงาน (รหัสพนักงาน,ชื่อสกุล,ที่อยู่,เบอร์โทร,เงินเดือน) โจทย์ : ให้แสดง รหัสพนักงาน และ ชื่อสกุลของพนักงานทั้งหมด SELECT รหัสพนักงาน,ชื่อสกุล FROM พนักงาน; โจทย์ : ให้แสดงข้อมูลของพนักงานทั้งหมด SELECT * FROM พนักงาน;

21 คำสั่งแสดงข้อมูลที่ไม่ซ้ำกันด้วย DISTINCT
รูปแบบ >> SELECT DISTINCT ชื่อคอลัมน์ FROM ชื่อตาราง; โจทย์ >> ให้แสดงข้อมูลที่อยู่พนักงานของบริษัทว่าอยู่ที่ใดบ้าง พนักงาน (รหัสพนักงาน,ชื่อสกุล,ที่อยู่,เบอร์โทร) SELECT DISTINCT ที่อยู่ FROM พนักงาน; SQL >>

22 จัดเรียงข้อมูลด้วย ORDER BY
ORDER BY ชื่อคอลัมน์ [DESC] ;  เรียงจากมากไปน้อย รูปแบบคำสั่ง >> ORDER BY ชื่อคอลัมน์ ;  เรียงจากน้อยไปมาก โจทย์ >> ต้องการทราบ รหัสและชื่อ ของลูกค้าทั้งหมด โดยแสดงผลแบบเรียง ตามลำดับชื่อลูกค้าจากน้อยไปหามาก และ มากไปน้อย สคีมา(โครงสร้าง) ของตาราง : พนักงาน (รหัส, ชื่อ, ที่อยู่, เบอร์โทร,เงินเดือน) SELECT รหัส , ชื่อ FROM พนักงาน ORDER BY รหัส; SQL  น้อยไปหามาก SELECT รหัส, ชื่อ FROM พนักงาน ORDER BY ขื่อ DESC; SQL  มากไปหาน้อย

23 การจัดกลุ่มข้อมูล (SELECT… GROUP BY)
FROM ชื่อตาราง GROP BY ชื่อคอลัมน์; รูปแบบ >> โจทย์ >> ต้องการทราบ รหัส ชื่อสกุล ที่อยู่ ของพนักงาน และให้ เรียงข้อมูลตาม ชื่อสกุล พนักงาน (รหัสพนักงาน,ชื่อสกุล,ที่อยู่,เบอร์โทร,เงินเดือน) SELECT รหัส,ชื่อสกุล,ที่อยู่ FROM พนักงาน GROUP BY ที่อยู่; SQL >>

24 การสอบถามข้อมูลแบบมีเงื่อนไข
SELECT ชื่อคอลัมน์ FROM ชื่อตาราง WHERE เงื่อนไขที่ต้องการ ; รูปแบบ >> โจทย์ >> ต้องการข้อมูลทั้งหมดของลูกค้าเฉพาะที่อาศัยอยู่ในBangkok SQL >> SELECT * FROM customer WHERE address = ‘Bangkok’ ;

25 ระบุหลายเงื่อนไขโดยใช้ OR
โจทย์ >> สอบถามข้อมูลของลูกค้าที่อยู่ Bangkok และมีวงเงินมากกว่า 500,000 บาท SELECT * FROM customer WHERE (C_address = ‘Bangkok’) AND (C_creditlim> ) ; SQL >> โจทย์ >> สอบถามข้อมูลของลูกค้าที่อยู่ Bangkok หรือมีวงเงินมากกว่า 500,000 บาท SQL >> SELECT * FROM customer WHERE (C_address = ‘Bangkok’) OR (C_creditlim> ) ;

26 ระบุหลายเงื่อนไขโดยใช้ IN
โจทย์ >> สอบถามข้อมูลของลูกค้าที่อยู่ Bangkok, Rayong หรือ Ayuthaya SELECT * FROM customer WHERE (C_address = ‘Bangkok’) OR (C_address = ‘Rayong’) OR (C_address = ‘Ayuthaya’) ; SQL 1 >> SELECT * FROM customer WHERE address IN (‘Bangkok’, ‘Rayong’ , ‘Ayuthaya’) SQL 2 >>

27 ระบุหลายเงื่อนไขโดยใช้ NOT
โจทย์ >> สอบถามข้อมูลของลูกค้าที่ไม่อยู่ในBangkok SELECT * FROM customer WHERE C_address <> ‘Bangkok’ ; SQL1 >> SELECT * FROM customer WHERE NOT C_address = ‘Bangkok’; SQL2 >>

28 เลือกข้อมูลที่อยู่ในช่วงที่ต้องการด้วย BETWEEN…AND
SELECT ชื่อคอลัมน์ FROM ชื่อตาราง WHERE ชื่อคอลัมน์ BETWEEN ค่าที่ 1 AND ค่าที่ 2 ; รูปแบบ >> *** สำหรับเลือกแสดงข้อมูลที่อยู่ระหว่างค่าที่กำหนด(values1) และ values2*** SELECT ชื่อคอลัมน์ FROM ชื่อตาราง WHERE ชื่อคอลัมน์ NOT BETWEEN ค่าที่ 1 AND ค่าที่ 2 ; รูปแบบ >> *** สำหรับเลือกแสดงข้อมูลที่มีค่าไม่อยู่ระหว่างค่าที่กำหนด***

29 เลือกข้อมูลที่อยู่ในช่วงที่ต้องการด้วย BETWEEN…AND
โจทย์ >> แสดงชื่อของพนักงานที่มีเงินเดือนอยู่ระหว่าง 3,500 และ 5,000 บาท SELECT e_name FROM employee WHERE (salary >= 3500) AND (salary <= 5000) ; SQL1 >> SELECT e_name FROM employee WHERE salary BETWEEN AND 5000 ; SQL2 >>

30 เลือกข้อมูลที่ตรงกับความต้องการด้วย LIKE
คำสั่ง SQL สามารถกำหนดเงื่อนไขเพื่อเลือกข้อมูลโดยใช้คำว่า “LIKE” และ ‘_’ โดยมีรายละเอียดดังนี้ เครื่องหมาย/คำ การแทนค่า ‘_’ แทนตัวอักษรใดๆ 1 ตัวอักษร ‘%’ แทนตัวอักษรกี่ตัวก็ได้ หรือเป็น 0 (ไม่มีข้อมูลเลยก็ได้)

31 เลือกข้อมูลที่ตรงกับความต้องการด้วย LIKE
โจทย์ >> แสดงชื่อของลูกค้าที่ขึ้นต้นด้วย ‘So’ C_name Sopha Somchai Somsak SELECT C_name FROM customer WHERE c_name like ‘So%’ ; ผลลัพธ์ >> SQL1 >> โจทย์ >> แสดงชื่อของลูกค้าที่ขึ้นต้นด้วย ‘Si’ และตามด้วยอักษรได้ก็ได้ 3 ตัว SELECT C_name FROM customer WHERE c_name like ‘Si_ _ _’ ; C_name Silee SQL1 >> ผลลัพธ์ >>

32 ฟังก์ชั่นสำหรับหาค่าของกลุ่มข้อมูล
หน้าที่ AVG ผลลัพธ์เป็นค่าเฉลี่ยของข้อมูลทั้งกลุ่ม SUM ผลลัพธ์เป็นผลบวกของข้อมูลทั้งกลุ่ม MIN ผลลัพธ์เป็นค่าน้อยที่สุดของข้อมูลทั้งกลุ่ม MAX ผลลัพธ์เป็นค่ามากที่สุดของข้อมูลทั้งกลุ่ม COUNT ผลลัพธ์เป็นจำนวนรายการของข้อมูลทั้งกลุ่ม รูปแบบ >> SELECT Function (ชื่อคอลัมน์ ) FROM ชื่อตาราง ;

33 หาค่าเฉลี่ยด้วย AVG() , MAX()
โจทย์ >> ต้องการทราบค่าเฉลี่ยเงินเดือนพนักงานทุกคน AVG(salary) 4971 SELECT AVG(salary) FROM employee ; ผลลัพธ์ >> SQL1 >> โจทย์ >> ต้องการทราบวงเงินสูงสุดที่ให้แก่ลูกค้ามีค่าเท่าไหร่ MAX(C_creditlim) 900000 SELECT MAX(C_creditlim) FROM Customer ; ผลลัพธ์ >> SQL1 >>

34 การนับจำนวน COUNT, DISTINCT
โจทย์ >> ต้องการทราบจำนวนลูกค้าของบริษัท count(*) 9 SELECT COUNT(*) FROM customer ; ผลลัพธ์ >> SQL1 >> แสดงจำนวนรายการสั่งซื้อสินค้าทั้งหมด พร้อมระบุจำนวนรายการสินค้าทั้งหมดที่มีการ สั่งซื้อ โจทย์ >> SELECT COUNT(*) AS “TOTAL” , COUNT(DISTINCT IDorder) AS “ORDER” FROM Order; SQL1 >> TOTAL ORDER ผลลัพธ์ >>

35 คำสั่งการเรียกค้น (SELECT)ข้อมูลจากหลายตาราง
department employee em_id em_name dep_id EM001 นายขวัญชัย มีจิต DEP04 EM002 นายเอกชัย ใจเพชร DEP02 EM003 นายเกื้อกูล ใจงาม DEP03 EM004 นายณรงค์ มีศิลป์ dep_id dep_name DEP01 แผนกต้อนรับ DEP02 แผนกซ่อมบำรุง DEP03 แผนกการเงิน DEP04 แผนกบัญชี training course em_id course_id date EM001 C001 10/02/53 EM002 C002 11/02/53 EM003 EM004 C004 13/02/53 course_id c_name C001 การทำอาหาร C002 การซ่อมรถยนต์ C003 การทำขนม C004 การทำตุ๊กตา

36 ตัวอย่างการเชื่อมข้อมูลจากหลายตาราง
โจทย์) ต้องการทราบ ชื่อ (em_name) ของพนักงานที่อบรมหลักสูตร C001 SELECT em_name FROM employee,training WHERE employee.em_id = training.em_id AND course_id = ‘C001’ ดึงข้อมูลจาก ตาราง employeeและ ตาราง training

37 โจทย์) ต้องการทราบว่า พนักงาน ที่มีรหัสแผนก dep04 เข้าอบรมหลักสูตร ใดบ้าง
SELECT c_name FROM employee,training,course WHERE employee.dep_id = “dep04” AND employee.em_id = training.em_id AND training.course_id = course.course_id

38 คำสั่งการเรียกค้นข้อมูลแบบซ้อนกัน (Sub queries)
คือ การเรียกค้นข้อมูลที่ประกอบด้วย การเรียกค้นหลัก กับ การเรียกค้นย่อย โดยการเรียกค้นหลักจะใช้ผลลัพธ์ของ การเรียกค้นย่อยไปเป็นเงื่อนไขในการกลั่นกรองข้อมูล หลักการทำงาน ต้องหาการเรียกค้นย่อยก่อนแล้วจึงนำไปใช้งานกับการเรียกค้นหลัก SELECT <ชื่อคอลัมน์> FROM <ชื่อตาราง> WHERE <ชื่อคอลัมน์> IN ( SELECT <ชื่อคอลัมน์> WHERE <ชื่อคอลัมน์> )

39 ตัวอย่าง : ต้องการทราบชื่อพนักงานที่อยู่แผนกเดียวกับ khanchai
SELECT em_name FROM employee WHERE dep_id IN ( SELECT em_name WHERE em_name = “khanchai”)

40 การเพิ่มข้อมูลแต่ละแถว (INSERT)
รูปแบบ >> INSERT INTO <ชื่อตาราง> VALUES ([<value 1>, <value 2>,… ) ; ป้อนข้อมูลของลูกค้าใหม่ ซึ่งมีรหัส 101 ชื่อ Supaporn อาศัยอยู่ Pattani เบอร์โทรศัพท์ มีวงเงิน 150,000 บ. และยอดเงินคงเหลือ 100,000 บ. โจทย์ >> INSERT INTO customer VALUES (‘101’,‘Supaporn’, ‘Pattani’,‘ ’, , ) ; SQL >>

41 การเพิ่มข้อมูลแต่ละแถว (INSERT) (ต่อ)
ในกรณีที่อาจการเพิ่มข้อมูลเฉพาะบางคอลัมน์ สามารถเขียนคำสั่งได้ดังนี้ รูปแบบ >> INSERT INTO <Table_name><(list of columnname)> VALUES <( list of matching value)> ; โจทย์ >> ป้อนข้อมูลของลูกค้าใหม่ ซึ่งมีรหัส 150 ชื่อ Walaiporn INSERT INTO customer (IDcustomer , C_name) VALUES (‘150’,‘Walaiporn’) ; SQL >>

42 การแก้ไขข้อมูล (Update)
ในกรณีที่เพิ่มข้อมูลในตารางแล้ว และต้องการแก้ไขข้อมูลที่มีอยู่ สามารถเขียนคำสั่งได้ดังนี้ UPDATE <Table_name> SET <columnname> = new_value WHERE <condition>; รูปแบบ >> โจทย์ >> ต้องการปรับเงินเดือนพนักงานชื่อ Piyanuch จากเดิม 14,400 บาท เป็น 15,000 UPDATE employee SET E_salary= WHERE E_name=‘Piyanuch’ ; SQL >>

43 การแก้ไขข้อมูล (Update)
หากต้องการแก้ไขข้อมูลที่มีอยู่ ครั้งละหลายแถวสามารถเขียนคำสั่งได้ดังนี้ โจทย์ >> ต้องการเพิ่มวงเงินให้แก่ลูกค้าที่อาศัยอยู่ใน Bangkok อีกคนละ 50,000 บาท UPDATE customer SET C_credit = C_credit WHERE C_address =‘Bangkok’ ; SQL >>

44 การลบข้อมูล (Delete) รูปแบบ >>
DELETE <Table_name> WHERE <condition>; รูปแบบ >> โจทย์ >> ในกรณีที่พนักงานชื่อ ‘Walai’ ลาออกจากบริษัท DELETE FROM employee WHERE E_name = ‘Walai’ ; SQL >>

45 แบบฝึกหัด ต้องการทราบชื่อพนักงาน อยู่แผนก DEP02
ต้องการทราบชื่อพนักงานที่อยู่ แผนกเดียวกับ นายเอกชัย ใจเพชร ต้องการทราบชื่อหลักสูตรที่ นายขวัญชัย ใจเพชร เข้าอบรม ต้องการทราบว่าหลักสูตรการทำอาหารมีใครเรียนบ้าง ต้องการหาชื่อพนักงานที่อบรมในระหว่าง วันที่ 10/02/53– 11/02/53 ต้องการหาชื่อพนักงานที่มีชื่อขึ้นด้วย ข ต้องการหาข้อมูลของพนักงานที่มีตัวอักษร อก

46 เฉลย 1 SELECT em_name FROM employee WHERE dep_id = "dep02"

47 ข้อ 2 SELECT em_name FROM employee WHERE dep_id IN (SELECT dep_id WHERE em_name =“นายเอกชัย ใจเพชร") AND em_name != “นายเอกชัย ใจเพชร"

48 ข้อ 3 SELECT c_name FROM employee,training,course WHERE employee.em_name = "khanchai" AND employee.em_id=training.em_id AND training.course_id = course.course_id

49 ข้อ 4 SELECT em_name FROM employee,training,course WHERE (c_name ="cooking") AND (training.em_id=employee.em_id) AND (training.course_id =course.course_id)

50 ข้อ 5 SELECT em_name FROM employee,training WHERE employee.em_id = training.em_id AND (date BETWEEN “10/02/53" AND “11/02/53")

51 ข้อ 6 SELECT em_name FROM employee WHERE em_name LIKE “ข%"

52 ข้อ 7 SELECT * FROM employee WHERE em_name LIKE "%อก%"


ดาวน์โหลด ppt SQL (Structured Query Language)

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


Ads by Google