1.ง่าย
GROUP BY ทำอะไรในคิวรี?
- Aจัดแถวที่มีค่าเหมือนกันเป็นกลุ่มเพื่อคำนวณฟังก์ชันรวมค่าต่อกลุ่ม
- Bเรียงลำดับแถวของผลลัพธ์ตามตัวอักษร
- Cลบแถวที่มีค่า NULL
- Dเชื่อมสองตารางด้วยคอลัมน์ร่วมกัน
2.ง่าย
GRANT และ REVOKE จัดอยู่ในส่วนใดของ SQL?
- Aภาษาจัดการข้อมูล (Data Manipulation Language, DML)
- Bภาษาคิวรีข้อมูล (Data Query Language, DQL)
- Cภาษาควบคุมข้อมูล (Data Control Language, DCL)
- Dภาษานิยามข้อมูล (Data Definition Language, DDL)
3.ง่าย
คำสั่ง เช่น CREATE, ALTER และ DROP จัดอยู่ในส่วนใดของ SQL?
- Aภาษาควบคุมข้อมูล (Data Control Language, DCL)
- Bภาษาควบคุมทรานแซกชัน (Transaction Control Language, TCL)
- Cภาษานิยามข้อมูล (Data Definition Language, DDL)
- Dภาษาจัดการข้อมูล (Data Manipulation Language, DML)
4.ปานกลาง
คิวรีใดแสดงรายชื่อลูกค้าที่ไม่เคยสั่งซื้อ?
- ASELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
- CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- DSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
5.ปานกลาง
ตาราง employees มีคอลัมน์ manager_id ที่อ้างอิงพนักงานอีกคน จะแสดงพนักงานแต่ละคนคู่กับชื่อผู้จัดการได้อย่างไร?
- Aรวมตารางกับตัวมันเองด้วย UNION ALL และตัวกรอง WHERE
- Bสร้างสำเนาที่สองของตารางบนดิสก์
- Cเชื่อมตาราง employees กับตัวเองโดยใช้ชื่อแฝงสองชื่อ
- Dใช้ GROUP BY manager_id อย่างเดียว
6.ปานกลาง
LEFT JOIN ให้ผลลัพธ์เป็น:
- Aทุกแถวจากตารางซ้ายและแถวที่ตรงกันจากตารางขวา โดยเป็น NULL เมื่อไม่มีแถวที่ตรงกัน
- Bแถวที่ไม่ตรงกันในทั้งสองตาราง
- Cเฉพาะแถวที่ตรงกันจากทั้งสองตาราง
- Dทุกแถวจากตารางขวาเท่านั้น
7.ยาก
เหตุใด SELECT dept, name, COUNT(*) FROM emp GROUP BY dept จึงไม่ถูกต้องใน SQL มาตรฐาน?
- AGROUP BY ต้องระบุทุกคอลัมน์ของตาราง
- BCOUNT(*) ใช้ร่วมกับ GROUP BY ไม่ได้
- Cname ไม่ได้ถูกจัดกลุ่มหรือรวมค่า จึงไม่มีค่าเดียวต่อกลุ่ม
- Ddept ต้องอยู่ในฟังก์ชันรวมค่า
8.ยาก
ตาราง employee(emp_id, dept_id, dept_name) มีคีย์ emp_id และ dept_id → dept_name ข้อใดถูกต้อง?
- Aไม่อยู่ใน 2NF
- Bไม่อยู่ใน 1NF
- Cอยู่ใน 2NF แต่ไม่อยู่ใน 3NF
- Dอยู่ใน BCNF จึงอยู่ใน 3NF ด้วย