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

Penyataan manakah yang menambah lajur baharu pada jadual sedia ada?

  1. AUPDATE TABLE
  2. BALTER TABLE
  3. CCREATE COLUMN
  4. DINSERT COLUMN
2.Mudah

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

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

Apakah kunci pengganti (surrogate key)?

  1. AKunci yang hanya digunakan dalam view
  2. BKunci yang dibuat daripada data dunia sebenar seperti alamat e-mel
  3. CPengecam buatan tanpa makna perniagaan, seperti id auto-tokokan
  4. DKunci yang merujuk jadual lain
4.Sederhana

Pertanyaan manakah yang memulangkan bilangan pesanan bagi setiap pelanggan?

  1. ASELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
  2. BSELECT DISTINCT COUNT(*) FROM orders
  3. CSELECT customer_id FROM orders WHERE COUNT(*) > 0
  4. DSELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
5.Sederhana

Jadual mempunyai baris di mana col ialah NULL. Baris manakah yang dipulangkan oleh WHERE col = NULL?

  1. AHanya baris di mana col ialah NULL, seperti dengan IS NULL
  2. BSemua baris jadual
  3. CTiada baris, kerana perbandingan itu tidak diketahui
  4. DRalat dalam setiap pangkalan data
6.Sederhana

Mengapakah SELECT price * 2 AS double_price FROM t WHERE double_price > 10 gagal dalam kebanyakan pangkalan data?

  1. AAlias tidak boleh mengandungi garis bawah
  2. BAritmetik tidak dibenarkan dalam senarai SELECT
  3. CWHERE hanya boleh membandingkan lajur teks
  4. DWHERE dinilai sebelum senarai SELECT, maka alias belum wujud lagi
7.Sukar

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

  1. AIndeks tidak pernah berfungsi dengan tarikh
  2. BIndeks pada order_date hanya digunakan untuk klausa ORDER BY, tidak pernah untuk WHERE
  3. CYEAR bukan SQL yang sah
  4. DMenggunakan fungsi pada lajur menghalang carian julat indeks yang mudah
8.Sukar

Bilakah jadual transaksi serentak dipanggil boleh disiri (serializable)?

  1. AApabila kesannya setara dengan beberapa pelaksanaan bersiri bagi transaksi yang sama
  2. BApabila tiada transaksi pernah membaca data
  3. CApabila transaksi dijalankan pada satu CPU sahaja
  4. DApabila setiap transaksi diberi nombor siri

Kunci jawapan

  1. 1. B · ALTER TABLE
  2. 2. C · Mengekalkan baris yang negaranya sama dengan mana-mana nilai dalam senarai
  3. 3. C · Pengecam buatan tanpa makna perniagaan, seperti id auto-tokokan
  4. 4. D · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  5. 5. C · Tiada baris, kerana perbandingan itu tidak diketahui
  6. 6. D · WHERE dinilai sebelum senarai SELECT, maka alias belum wujud lagi
  7. 7. D · Menggunakan fungsi pada lajur menghalang carian julat indeks yang mudah
  8. 8. A · Apabila kesannya setara dengan beberapa pelaksanaan bersiri bagi transaksi yang sama

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