ค้นหาข้อมูลที่ต้องการจากฐานข้อมูล (SA&D-10)
อัพเดทข้อมูลในตารางด้วยคำสั่ง SQL คำสั่ง SELECT เบื้องต้น Syntax SELECT column1 [, column2, …] FROM table_name;
อัพเดทข้อมูลในตารางด้วยคำสั่ง SQL ตัวอย่างที่ 10-1 จงแสดงชื่อวิชา รหัสวิชา และหน่วยกิตของ วิชาที่เปิดสอนอยู่ทั้งหมด SELECT name, subjectid, credit FROM subject;
อัพเดทข้อมูลในตารางด้วยคำสั่ง SQL ตัวอย่างที่ 10-2 ในสถานศึกษาแห่งนี้มีชั้นเรียนอยู่กี่ชั้น และมี ชั้นว่าอะไรบ้าง SELECT class FROM class;
อัพเดทข้อมูลในตารางด้วยคำสั่ง SQL ตัวอย่างที่ 10-3 แสดงข้อมูลจากตาราง Teacher โดยเรียงลำดับ ตามชื่ออาจารย์ (น้อยไปหามาก) และรหัสวิชา (มากไปหาน้อย) SELECT subjectid, teacher FROM teacher ORDER BY teacher, subjectid, DESC; หรือ ORDER BY 2, 1 DESC;
อัพเดทข้อมูลในตารางด้วยคำสั่ง SQL ตัวอย่างที่ 10-4 แสดงข้อมูลของนักศึกษาทั้งหมดที่อยู่ห้อง A SELECT * FROM student WHERE class=‘A’;
อัพเดทข้อมูลในตารางด้วยคำสั่ง SQL AVG หาค่าเฉลี่ย COUNT นับจำนวนเรคคอร์ด MAX หาค่าสูงสุด MIN หาค่าต่ำสุด SUM หาผลรวม โดยปกติใช้ร่วมกับ ORDER BY HAVING
อัพเดทข้อมูลในตารางด้วยคำสั่ง SQL ตัวอย่างที่ 10-5 หาคะแนนเฉลี่ยของนักศึกษาที่เรียนวิชาการ ออกแบบเว็บไซต์ SELECT AVG(score) AS ค่าเฉลี่ยของคะแนน FROM student_subject WHERE subjectid = ‘I002’;
อัพเดทข้อมูลในตารางด้วยคำสั่ง SQL ตัวอย่างที่ 10-6 หาคะแนนเฉลี่ยของนักศึกษาที่เรียนวิชา I002 โดยไม่ใช้ฟังก์ชัน AVG SELECT MAX(subjectid), SUM(score)/COUNT(*) FROM student_subject WHERE subjectid = ‘I002’; หรือ SELECT SUM(score)/COUNT(*)
อัพเดทข้อมูลในตารางด้วยคำสั่ง SQL โอเปอเรเตอร์ทางคณิตศาสตร์ (Arithmetic Operator) +, -, * และ / ตัวอย่างที่ 10-7 แสดงข้อมูลนักศึกษา, รหัสวิชา, เกรด และ คะแนนของนักศึกษาทุกคนที่ได้คะแนนมากกว่า 80 คะแนน SELECT studentid, subjectid, grade, score FROM student_subject WHERE score>80;
อัพเดทข้อมูลในตารางด้วยคำสั่ง SQL โอเปอเรเตอร์เปรียบเทียบ (Comparision Operator) =, <>, >, >=, < และ <= ตัวอย่างที่ 10-8 จงหาค่ากึ่งกลางพิสัยของคะแนนในวิชา P001 SELECT MIN(subjectid), (MAX(score)+MIN(score)/2) FROM student_subject WHERE subjectid=‘P001’;
อัพเดทข้อมูลในตารางด้วยคำสั่ง SQL โอเปอเรเตอร์ทางตรรกะ (Logical Operator) AND, OR และ UNION ตัวอย่างที่ 10-9 แสดงรหัสนักศึกษา รหัสวิชา และคะแนนของ นักศึกษาที่ได้คะแนนระหว่าง 60-70 คะแนน SELECT studentid, subjectid, score FROM student_subject WHERE score >=60 AND score<=70; หรือ WHERE score BETWEEN 60 AND 70;
อัพเดทข้อมูลในตารางด้วยคำสั่ง SQL ตัวอย่างที่ 10-10 แสดงรหัสและชื่อนักศึกษาที่อยู่ห้อง C ร่วมกับรหัสและชื่อนักศึกษาที่มี 2 หน่วยกิต SELECT studentid, name FROM student WHERE class=‘C’ UNION SELECT subjectid, name FROM subject WHERE credit=2;
อัพเดทข้อมูลในตารางด้วยคำสั่ง SQL โอเปอเรเตอร์ที่มีลักษณะเฉพาะตัวไม่สามารถจัดกลุ่ม DISTINCT, IN, LIKE, BETWEEN…AND, NOT, IS NULL, EXISTS, ANY และ ALL ตัวอย่างที่ 10-11 หาค่าเฉลี่ยของคะแนนในวิชา P001 โดย ไม่ใช้ฟังก์ชัน AVG SELECT SUM(score)/COUNT(*) AS ค่าเฉลี่ยคะแนน FROM student_subject WHERE subjectid=‘P001’ AND score IS NOT NULL;
อัพเดทข้อมูลในตารางด้วยคำสั่ง SQL ตัวอย่างที่ 10-12 แสดงรายชื่อชมรมทั้งหมดที่มีนักศึกษา สังกัดอยู่ SELECT DISTINCT club FROM club;
อัพเดทข้อมูลในตารางด้วยคำสั่ง SQL ตัวอย่างที่ 10-13 แสดงรหัสนักศึกษา รหัสวิชา และคะแนน ของนักศึกษาที่ได้คะแนนระหว่าง 60-70 คะแนน SELECT studentid, subjectid, score FROM student_subject WHERE score BETWEEN 60 AND 70
อัพเดทข้อมูลในตารางด้วยคำสั่ง SQL ตัวอย่างที่ 10-14 แสดงรายชื่อนักศึกษาที่ขึ้นต้นด้วยอักษร ก และอยู่ห้อง A, B หรือ C SELECT studentid, class FROM student WHERE name LIKE ‘n*’ AND class IN (‘A’,’B’,’C’);
อัพเดทข้อมูลในตารางด้วยคำสั่ง SQL คิวรีข้อมูลเป็นกลุ่มด้วย GROUP BY Syntax SELECT column1 [, column2, …] FROM table_name GROUP BY group1 [, group2, …]
อัพเดทข้อมูลในตารางด้วยคำสั่ง SQL ตัวอย่างที่ 10-15 หาจำนวนนักศึกษาในแต่ละชั้นเรียน SELECT class, COUNT(*) AS จำนวนนักศึกษา FROM student ORDER BY class;
อัพเดทข้อมูลในตารางด้วยคำสั่ง SQL ตัวอย่างที่ 10-16 หาจำนวนนักศึกษาโดยแยกตามรหัสวิชา และเกรดที่ได้ SELECT subjectid, grade, COUNT(*) FROM student_subject WHERE grade IS NOT NULL ORDER BY subjectid, grade;
อัพเดทข้อมูลในตารางด้วยคำสั่ง SQL ตัวอย่างที่ 10-17 แสดงรายชื่อชมรมทั้งหมดที่นักศึกษาสังกัด อยู่ SELECT club FROM club GROUP BY club;
อัพเดทข้อมูลในตารางด้วยคำสั่ง SQL เลือกกลุ่มข้อมูลโดยใช้ HAVING กำหนด เงื่อนไข Syntax SELECT column1 [, column2, …] FROM table_name GROUP BY group1 [, group2, …] HAVING group_condition;
อัพเดทข้อมูลในตารางด้วยคำสั่ง SQL ตัวอย่างที่ 10-18 แสดงรหัสวิชาและจำนวนอาจารย์ผู้สอนใน วิชาที่มีอาจารย์ผู้สอนตั้งแต่ 2 คนขึ้นไป SELECT subjectid, COUNT(*) FROM teacher GROUP BY subjectid HAVING COUNT(*)>=2;
ASSIGNMENT V จงแสดงรายชื่อของอาจารย์และวิชาที่อาจารย์คนนั้นเป็นผู้สอน แสดงรายชื่อนักศึกษาและวันเกิดเรียงตามอายุจากมากไปหาน้อย จากฐานข้อมูลที่มีอยู่ จงตอบคำถามว่าในสถานศึกษาแห่งนี้มีอาจารย์ ผู้สอนวิชาต่างๆ กี่คน จงหารายชื่อหนังสือที่ใช้เรียนวิชา P001 วิชาใดที่มีนักศึกษาได้คะแนนต่างกันมากกว่า 4 เท่า มีอาจารย์คนใดบ้างที่เลือกใช้หนังสือ “เทคนิคการดูแลกล้อง” ประกอบการสอน จงหานักศึกษาที่มีนามสกุล “วารีวานิช”
ASSIGNMENT V (Continue) จงแสดงชื่อนักศึกษา และวันเกิดของนักศึกษาที่เกิดในเดือนมกราคม พ.ศ. 2527 อาจารย์ที่ปรึกษาของห้อง D คือใคร แสดงรายชื่อหนังสือที่ใช้เรียนในวิชา P002 และ S001 จงหาว่ามีนักศึกษาคนใดบ้างที่ได้คะแนนน้อยกว่า 30 คะแนนในวิชา I001, I002 และ P001 แสดงข้อมูลของนักศึกษาทุกคนในวิชาที่ยังไม่ได้สอบปลายภาค หารายชื่อชมรมที่มีสมาชิกเท่ากับ 3 คน