1.ง่าย
ฟังก์ชันรวมค่าใดคืนค่าเฉลี่ยของคอลัมน์ตัวเลข?
- AAVG
- BMEDIAN
- CSUM
- DMEAN
2.ง่าย
GROUP BY ทำอะไรในคิวรี?
- Aจัดแถวที่มีค่าเหมือนกันเป็นกลุ่มเพื่อคำนวณฟังก์ชันรวมค่าต่อกลุ่ม
- Bเรียงลำดับแถวของผลลัพธ์ตามตัวอักษร
- Cเชื่อมสองตารางด้วยคอลัมน์ร่วมกัน
- Dลบแถวที่มีค่า NULL
3.ง่าย
NULL ใน SQL แทนอะไร?
- Aค่าบูลีนเท็จ
- Bค่าที่ขาดหายไปหรือไม่ทราบค่า
- Cสตริงว่าง
- Dเลขศูนย์ในคอลัมน์ตัวเลข
4.ปานกลาง
SELECT name, CASE WHEN grade >= 5.5 THEN 'pass' ELSE 'fail' END FROM results คืนอะไร?
- Aเฉพาะนักเรียนที่สอบผ่าน
- Bชื่อแต่ละคนพร้อมป้าย 'pass' หรือ 'fail' ตามเกรด
- Cจำนวนนักเรียนที่สอบผ่านและสอบตก
- Dข้อผิดพลาด เพราะ CASE ไม่อนุญาตใน SELECT
5.ปานกลาง
คิวรีใดแสดงรายชื่อลูกค้าที่ไม่เคยสั่งซื้อ?
- ASELECT c.name FROM customers c LEFT 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 IS NOT NULL
- CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
- DSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
6.ปานกลาง
GRANT SELECT ON employees TO alice ทำอะไร?
- Aคัดลอกตาราง employees ให้ alice
- Bอนุญาตให้ผู้ใช้ alice อ่านตาราง employees
- Cอนุญาตให้ alice แก้ไขและลบแถวในตาราง employees
- Dทำให้ alice เป็นเจ้าของฐานข้อมูล
7.ยาก
รูปแบบบรรทัดฐานบอยซ์–คอดด์ (BCNF) กำหนดว่าสำหรับทุกการพึ่งพาเชิงฟังก์ชันที่ไม่ธรรมดา X → Y:
- AX เป็นซูเปอร์คีย์
- BY เป็นอะตอมมิก
- CY เป็นคีย์หลัก
- DX มี NULL
8.ยาก
ตารางมีหนึ่งล้านแถวและคอลัมน์บูลีน is_active เป็น TRUE ใน 95% ของแถว เหตุใดตัวปรับแต่งอาจเมินดัชนีบน is_active สำหรับ WHERE is_active = TRUE?
- Aแถวส่วนใหญ่ตรงเงื่อนไข การสแกนทั้งตารางจึงถูกกว่าการค้นด้วยดัชนีจำนวนมาก
- Bดัชนีถือว่า TRUE เป็น NULL
- Cสร้างดัชนีบนคอลัมน์บูลีนไม่ได้
- Dตัวปรับแต่งไม่เคยใช้ดัชนีในอนุประโยค WHERE
เฉลย
- 1. A · AVG
- 2. A · จัดแถวที่มีค่าเหมือนกันเป็นกลุ่มเพื่อคำนวณฟังก์ชันรวมค่าต่อกลุ่ม
- 3. B · ค่าที่ขาดหายไปหรือไม่ทราบค่า
- 4. B · ชื่อแต่ละคนพร้อมป้าย 'pass' หรือ 'fail' ตามเกรด
- 5. A · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- 6. B · อนุญาตให้ผู้ใช้ alice อ่านตาราง employees
- 7. A · X เป็นซูเปอร์คีย์
- 8. A · แถวส่วนใหญ่ตรงเงื่อนไข การสแกนทั้งตารางจึงถูกกว่าการค้นด้วยดัชนีจำนวนมาก
เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com