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

Dalam PostgreSQL dan MySQL, klausa manakah yang memulangkan hanya 10 baris pertama hasil?

  1. AMAX 10
  2. BLIMIT 10
  3. CTOP ROWS 10
  4. DFIRST 10 ONLY
2.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. BHanya baris dengan harga sama dengan 10 atau 20
  3. CBaris dengan harga dari 10 hingga 20, termasuk 10 dan 20
  4. DBaris dengan harga di luar julat 10 hingga 20
3.Mudah

Klausa manakah yang menapis baris sebelum pengumpulan?

  1. AHAVING
  2. BORDER BY
  3. CGROUP BY
  4. DWHERE
4.Sederhana

Apakah yang dipulangkan oleh SELECT name, CASE WHEN grade >= 5.5 THEN 'pass' ELSE 'fail' END FROM results?

  1. ARalat kerana CASE tidak dibenarkan dalam SELECT
  2. BSetiap nama dengan label 'pass' atau 'fail' bergantung pada gred
  3. CHanya pelajar yang lulus
  4. DBilangan pelajar yang lulus dan gagal
5.Sederhana

LEFT JOIN memulangkan:

  1. AHanya baris sepadan daripada kedua-dua jadual
  2. BSemua baris daripada jadual kiri dan baris sepadan daripada kanan, dengan NULL di mana tiada padanan
  3. CSemua baris daripada jadual kanan sahaja
  4. DBaris yang tidak sepadan dalam kedua-dua jadual
6.Sederhana

Mengapakah indeks dicipta pada lajur?

  1. AUntuk mempercepat sisipan dan kemas kini pada lajur itu
  2. BUntuk menjimatkan ruang cakera
  3. CUntuk mencegah nilai NULL
  4. DUntuk mempercepat carian dan cantuman pada lajur itu
7.Sukar

Jadual enrolment(student_id, course_id, student_name, grade) mempunyai kunci (student_id, course_id). Bentuk normal manakah yang dilanggarnya?

  1. ATiada, ia dalam BCNF
  2. BBentuk normal kedua, kerana student_name bergantung pada student_id sahaja
  3. CBentuk normal ketiga sahaja, kerana grade bergantung pada student_name
  4. DBentuk normal pertama, kerana lajur grade tidak mengandungi nilai atomik
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 pada order_date hanya digunakan untuk klausa ORDER BY, tidak pernah untuk WHERE
  4. DIndeks tidak pernah berfungsi dengan tarikh

Kunci jawapan

  1. 1. B · LIMIT 10
  2. 2. C · Baris dengan harga dari 10 hingga 20, termasuk 10 dan 20
  3. 3. D · WHERE
  4. 4. B · Setiap nama dengan label 'pass' atau 'fail' bergantung pada gred
  5. 5. B · Semua baris daripada jadual kiri dan baris sepadan daripada kanan, dengan NULL di mana tiada padanan
  6. 6. D · Untuk mempercepat carian dan cantuman pada lajur itu
  7. 7. B · Bentuk normal kedua, kerana student_name bergantung pada student_id sahaja
  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.