1.ง่าย
ตัวดำเนินการใดใช้จับคู่รูปแบบข้อความอย่างง่ายในอนุประโยค WHERE?
- ACONTAINS
- BLIKE
- CMATCH
- DSIMILAR
2.ง่าย
CROSS JOIN ให้ผลลัพธ์อะไร?
- Aเฉพาะแถวของตารางแรก
- Bทุกชุดค่าผสมของแถวจากสองตาราง
- Cเฉพาะแถวที่ไม่ตรงกัน
- Dเฉพาะแถวที่ตรงกันบนคอลัมน์คีย์ร่วม
3.ง่าย
คำสั่งใดลบแถวออกจากตาราง?
- ADELETE
- BREMOVE
- CDROP
- DTRUNCATE COLUMN
4.ปานกลาง
ตารางเก็บที่อยู่ของลูกค้าในทุกแถวคำสั่งซื้อ การเปลี่ยนที่อยู่ในแถวหนึ่งแต่ไม่เปลี่ยนในแถวอื่นเป็นตัวอย่างของ:
- Aความผิดปกติในการแก้ไข (update anomaly)
- Bความผิดปกติในการแทรก (insertion anomaly)
- Cความผิดปกติในการลบ (deletion anomaly)
- Dphantom read
5.ปานกลาง
ตาราง a มี 3 แถว และตาราง b มี 4 แถว SELECT * FROM a CROSS JOIN b คืนกี่แถว?
- A4
- B12
- C3
- D7
6.ปานกลาง
ตาราง orders มี 5 แถว โดยแต่ละแถวอ้างอิงลูกค้าที่มีอยู่ ตาราง customers มี 3 แถว INNER JOIN บน customer_id คืนกี่แถว?
- A5
- B8
- C15
- D3
7.ยาก
เหตุใด SELECT dept, name, COUNT(*) FROM emp GROUP BY dept จึงไม่ถูกต้องใน SQL มาตรฐาน?
- Aname ไม่ได้ถูกจัดกลุ่มหรือรวมค่า จึงไม่มีค่าเดียวต่อกลุ่ม
- BGROUP BY ต้องระบุทุกคอลัมน์ของตาราง
- Cdept ต้องอยู่ในฟังก์ชันรวมค่า
- DCOUNT(*) ใช้ร่วมกับ GROUP BY ไม่ได้
8.ยาก
SELECT name, dept, AVG(salary) OVER (PARTITION BY dept) FROM emp คืนอะไร?
- Aเฉพาะพนักงานที่ได้มากกว่าค่าเฉลี่ยของแผนก
- Bข้อผิดพลาด เพราะ name ไม่อยู่ใน GROUP BY
- Cหนึ่งแถวต่อแผนกพร้อมเงินเดือนเฉลี่ย
- Dทุกแถวพนักงานพร้อมเงินเดือนเฉลี่ยของแผนกตน
เฉลย
- 1. B · LIKE
- 2. B · ทุกชุดค่าผสมของแถวจากสองตาราง
- 3. A · DELETE
- 4. A · ความผิดปกติในการแก้ไข (update anomaly)
- 5. B · 12
- 6. A · 5
- 7. A · name ไม่ได้ถูกจัดกลุ่มหรือรวมค่า จึงไม่มีค่าเดียวต่อกลุ่ม
- 8. D · ทุกแถวพนักงานพร้อมเงินเดือนเฉลี่ยของแผนกตน
เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com