Lembaran kerja Pangkalan data & SQL dengan jawapan

Lembaran kerja Pangkalan data & SQL percuma untuk dicetak: 8 soalan dari mudah hingga tahap peperiksaan, dengan skema jawapan. Cetak atau simpan sebagai PDF.

Untuk pensyarah dan guru: percuma untuk dicetak, disalin dan digunakan di dalam kelas. Setiap lembaran kerja baharu mempunyai nilai baharu dan skema jawapannya sendiri. Pautan ke ExamProblems di halaman kursus anda amat dihargai.

Nama: ____________________   Tarikh: ____________

1.Mudah

Apakah yang dilakukan oleh GROUP BY dalam pertanyaan?

  1. AMeletakkan baris dengan nilai sama ke dalam kumpulan supaya agregat dikira bagi setiap kumpulan
  2. BMembuang baris dengan nilai NULL
  3. CMencantumkan dua jadual pada lajur sepunya
  4. DMenyusun baris hasil mengikut abjad
2.Mudah

Penyataan manakah yang memadam seluruh jadual, termasuk strukturnya?

  1. ATRUNCATE ROWS
  2. BREMOVE TABLE
  3. CDROP TABLE
  4. DDELETE FROM
3.Mudah

Baris manakah yang dipilih oleh WHERE price BETWEEN 10 AND 20?

  1. ABaris dengan harga melebihi 10 dan kurang daripada 20, tidak termasuk 10 dan 20
  2. BBaris dengan harga dari 10 hingga 20, termasuk 10 dan 20
  3. CHanya baris dengan harga sama dengan 10 atau 20
  4. 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?

  1. A3
  2. B7
  3. C12
  4. D4
5.Sederhana

Jadual employees mempunyai lajur manager_id yang merujuk pekerja lain. Bagaimanakah anda menyenaraikan setiap pekerja bersama nama pengurusnya?

  1. AMenggunakan GROUP BY manager_id sahaja
  2. BMencantumkan jadual employees dengan dirinya sendiri menggunakan dua alias
  3. CMenggabungkan jadual dengan dirinya sendiri menggunakan UNION ALL dan penapis WHERE
  4. DMencipta salinan kedua jadual pada cakera
6.Sederhana

Pertanyaan manakah yang memulangkan bilangan pesanan bagi setiap pelanggan?

  1. ASELECT customer_id FROM orders WHERE COUNT(*) > 0
  2. BSELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  3. CSELECT DISTINCT COUNT(*) FROM orders
  4. 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)?

  1. AHanya baris a di mana x ialah NULL
  2. BBaris a di mana x bukan 1 atau 2
  3. CTiada baris langsung
  4. DSetiap baris a
8.Sukar

Mengapakah pertanyaan dengan WHERE YEAR(order_date) = 2025 mungkin tidak menggunakan indeks pada order_date?

  1. AYEAR bukan SQL yang sah
  2. BMenggunakan fungsi pada lajur menghalang carian julat indeks yang mudah
  3. CIndeks tidak pernah berfungsi dengan tarikh
  4. DIndeks pada order_date hanya digunakan untuk klausa ORDER BY, tidak pernah untuk WHERE

Kunci jawapan

  1. 1. A · Meletakkan baris dengan nilai sama ke dalam kumpulan supaya agregat dikira bagi setiap kumpulan
  2. 2. C · DROP TABLE
  3. 3. B · Baris dengan harga dari 10 hingga 20, termasuk 10 dan 20
  4. 4. C · 12
  5. 5. B · Mencantumkan jadual employees dengan dirinya sendiri menggunakan dua alias
  6. 6. B · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  7. 7. C · Tiada baris langsung
  8. 8. B · Menggunakan fungsi pada lajur menghalang carian julat indeks yang mudah

Penyelesaian langkah demi langkah yang lengkap: berlatih topik ini di examproblems.com.