1.Mudah
Apakah yang dilakukan oleh GROUP BY dalam pertanyaan?
- AMeletakkan baris dengan nilai sama ke dalam kumpulan supaya agregat dikira bagi setiap kumpulan
- BMembuang baris dengan nilai NULL
- CMencantumkan dua jadual pada lajur sepunya
- DMenyusun baris hasil mengikut abjad
2.Mudah
Penyataan manakah yang memadam seluruh jadual, termasuk strukturnya?
- ATRUNCATE ROWS
- BREMOVE TABLE
- CDROP TABLE
- DDELETE FROM
3.Mudah
Baris manakah yang dipilih oleh WHERE price BETWEEN 10 AND 20?
- ABaris dengan harga melebihi 10 dan kurang daripada 20, tidak termasuk 10 dan 20
- BBaris dengan harga dari 10 hingga 20, termasuk 10 dan 20
- CHanya baris dengan harga sama dengan 10 atau 20
- DBaris dengan harga di luar julat 10 hingga 20
4.Sederhana
Jadual a mempunyai 3 baris dan jadual b mempunyai 4 baris. Berapa baris yang dipulangkan oleh SELECT * FROM a CROSS JOIN b?
- A3
- B7
- C12
- D4
5.Sederhana
Jadual employees mempunyai lajur manager_id yang merujuk pekerja lain. Bagaimanakah anda menyenaraikan setiap pekerja bersama nama pengurusnya?
- AMenggunakan GROUP BY manager_id sahaja
- BMencantumkan jadual employees dengan dirinya sendiri menggunakan dua alias
- CMenggabungkan jadual dengan dirinya sendiri menggunakan UNION ALL dan penapis WHERE
- DMencipta salinan kedua jadual pada cakera
6.Sederhana
Pertanyaan manakah yang memulangkan bilangan pesanan bagi setiap pelanggan?
- ASELECT customer_id FROM orders WHERE COUNT(*) > 0
- BSELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
- CSELECT DISTINCT COUNT(*) FROM orders
- DSELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
7.Sukar
Jadual b mengandungi nilai 1, 2 dan NULL dalam lajur y. Apakah yang dipulangkan oleh SELECT * FROM a WHERE x NOT IN (SELECT y FROM b)?
- AHanya baris a di mana x ialah NULL
- BBaris a di mana x bukan 1 atau 2
- CTiada baris langsung
- DSetiap baris a
8.Sukar
Mengapakah pertanyaan dengan WHERE YEAR(order_date) = 2025 mungkin tidak menggunakan indeks pada order_date?
- AYEAR bukan SQL yang sah
- BMenggunakan fungsi pada lajur menghalang carian julat indeks yang mudah
- CIndeks tidak pernah berfungsi dengan tarikh
- DIndeks pada order_date hanya digunakan untuk klausa ORDER BY, tidak pernah untuk WHERE
Kunci jawapan
- 1. A · Meletakkan baris dengan nilai sama ke dalam kumpulan supaya agregat dikira bagi setiap kumpulan
- 2. C · DROP TABLE
- 3. B · Baris dengan harga dari 10 hingga 20, termasuk 10 dan 20
- 4. C · 12
- 5. B · Mencantumkan jadual employees dengan dirinya sendiri menggunakan dua alias
- 6. B · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
- 7. C · Tiada baris langsung
- 8. B · Menggunakan fungsi pada lajur menghalang carian julat indeks yang mudah
Penyelesaian langkah demi langkah yang lengkap: berlatih topik ini di examproblems.com.