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

Klausa manakah yang menapis baris sebelum pengumpulan?

  1. AWHERE
  2. BGROUP BY
  3. CORDER BY
  4. DHAVING
2.Mudah

Apakah kunci utama (primary key)?

  1. ALajur yang boleh menyimpan nilai pendua tetapi tidak boleh mengandungi NULL
  2. BLajur pertama bagi setiap jadual
  3. CKata laluan untuk pangkalan data
  4. DLajur atau set lajur yang mengenal pasti setiap baris secara unik
3.Mudah

Apakah yang dilakukan oleh WHERE country IN ('NL', 'BE', 'DE')?

  1. AMengekalkan baris yang negaranya tiada dalam senarai
  2. BMengekalkan baris yang negaranya sama dengan mana-mana nilai dalam senarai
  3. CMengekalkan baris yang nilai negaranya mengandungi ketiga-tiga kod sekali gus
  4. DMenyusun baris mengikut urutan senarai
4.Sederhana

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

  1. AMenggabungkan jadual dengan dirinya sendiri menggunakan UNION ALL dan penapis WHERE
  2. BMencantumkan jadual employees dengan dirinya sendiri menggunakan dua alias
  3. CMencipta salinan kedua jadual pada cakera
  4. DMenggunakan GROUP BY manager_id sahaja
5.Sederhana

Apakah yang dipulangkan oleh SELECT SUM(amount) FROM orders apabila klausa WHERE tidak sepadan dengan sebarang baris?

  1. ARalat
  2. BRentetan kosong
  3. CNULL
  4. D0
6.Sederhana

Pernyataan manakah tentang HAVING yang betul?

  1. AIa tidak boleh digunakan dengan GROUP BY
  2. BIa mesti datang sebelum WHERE dalam penyataan SELECT
  3. CIa menyusun hasil
  4. DIa boleh menggunakan fungsi agregat untuk menapis kumpulan
7.Sukar

Pertanyaan FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.status = 'paid' secara tidak dijangka menggugurkan pelanggan tanpa pesanan. Mengapa?

  1. ACantuman patut menggunakan USING dan bukan ON
  2. BSyarat WHERE pada o menolak baris berisi NULL, menjadikannya cantuman dalam (inner join)
  3. Cstatus ialah perkataan terpelihara
  4. DLEFT JOIN tidak pernah mengekalkan baris tidak sepadan
8.Sukar

Apakah kelemahan yang diketahui bagi penguraian jadual kepada BCNF berbanding 3NF?

  1. AJadual BCNF tidak boleh mempunyai kunci utama
  2. BPenguraian sentiasa kehilangan data apabila dicantum semula
  3. CSesetengah kebergantungan fungsi mungkin tidak lagi boleh disemak dalam satu jadual
  4. DBCNF membenarkan lebih banyak keberlebihan daripada 3NF

Kunci jawapan

  1. 1. A · WHERE
  2. 2. D · Lajur atau set lajur yang mengenal pasti setiap baris secara unik
  3. 3. B · Mengekalkan baris yang negaranya sama dengan mana-mana nilai dalam senarai
  4. 4. B · Mencantumkan jadual employees dengan dirinya sendiri menggunakan dua alias
  5. 5. C · NULL
  6. 6. D · Ia boleh menggunakan fungsi agregat untuk menapis kumpulan
  7. 7. B · Syarat WHERE pada o menolak baris berisi NULL, menjadikannya cantuman dalam (inner join)
  8. 8. C · Sesetengah kebergantungan fungsi mungkin tidak lagi boleh disemak dalam satu jadual

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