1.ง่าย
คำสั่งใดลบทั้งตารางรวมทั้งโครงสร้าง?
- ADELETE FROM
- BREMOVE TABLE
- CTRUNCATE ROWS
- DDROP TABLE
2.ง่าย
GRANT และ REVOKE จัดอยู่ในส่วนใดของ SQL?
- Aภาษานิยามข้อมูล (Data Definition Language, DDL)
- Bภาษาคิวรีข้อมูล (Data Query Language, DQL)
- Cภาษาควบคุมข้อมูล (Data Control Language, DCL)
- Dภาษาจัดการข้อมูล (Data Manipulation Language, DML)
3.ง่าย
คำสั่ง SQL ใดเพิ่มแถวใหม่ลงในตาราง?
- AUPDATE
- BSELECT
- CALTER
- DINSERT
4.ปานกลาง
คิวรีใดคืนจำนวนคำสั่งซื้อต่อลูกค้า?
- ASELECT customer_id FROM orders WHERE COUNT(*) > 0
- BSELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
- CSELECT DISTINCT COUNT(*) FROM orders
- DSELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
5.ปานกลาง
ตัว "A" ใน ACID ย่อมาจากอะไร?
- AAggregation
- BAvailability
- CAtomicity
- DAccuracy
6.ปานกลาง
ตารางมีแถวที่ col เป็น NULL แถวใดที่ WHERE col = NULL คืนมา?
- Aทุกแถวของตาราง
- Bข้อผิดพลาดในทุกฐานข้อมูล
- Cไม่มีแถวเลย เพราะการเปรียบเทียบให้ผลไม่ทราบค่า
- Dเฉพาะแถวที่ col เป็น NULL เช่นเดียวกับ IS NULL
7.ยาก
ตารางมีหนึ่งล้านแถวและคอลัมน์บูลีน is_active เป็น TRUE ใน 95% ของแถว เหตุใดตัวปรับแต่งอาจเมินดัชนีบน is_active สำหรับ WHERE is_active = TRUE?
- Aสร้างดัชนีบนคอลัมน์บูลีนไม่ได้
- Bดัชนีถือว่า TRUE เป็น NULL
- Cแถวส่วนใหญ่ตรงเงื่อนไข การสแกนทั้งตารางจึงถูกกว่าการค้นด้วยดัชนีจำนวนมาก
- Dตัวปรับแต่งไม่เคยใช้ดัชนีในอนุประโยค WHERE
8.ยาก
x เป็น NULL และ y = 1 ค่าของเงื่อนไข (x > 5 OR y = 1) คืออะไร?
- AFALSE
- BNULL ดังนั้นแถวถูกปฏิเสธเสมอ
- CTRUE
- DUNKNOWN
เฉลย
- 1. D · DROP TABLE
- 2. C · ภาษาควบคุมข้อมูล (Data Control Language, DCL)
- 3. D · INSERT
- 4. D · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
- 5. C · Atomicity
- 6. C · ไม่มีแถวเลย เพราะการเปรียบเทียบให้ผลไม่ทราบค่า
- 7. C · แถวส่วนใหญ่ตรงเงื่อนไข การสแกนทั้งตารางจึงถูกกว่าการค้นด้วยดัชนีจำนวนมาก
- 8. C · TRUE
เฉลยทีละขั้นตอนฉบับเต็ม: ฝึกหัวข้อนี้ได้ที่ examproblems.com