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 dipulangkan oleh CROSS JOIN?

  1. AHanya baris jadual pertama
  2. BSetiap gabungan baris daripada kedua-dua jadual
  3. CHanya baris yang sepadan pada lajur kunci yang dikongsi
  4. DHanya baris yang tidak sepadan
2.Mudah

GRANT dan REVOKE tergolong dalam bahagian SQL yang mana?

  1. AData Manipulation Language (DML)
  2. BData Query Language (DQL)
  3. CData Control Language (DCL)
  4. DData Definition Language (DDL)
3.Mudah

Apakah kunci pengganti (surrogate key)?

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

Pertanyaan manakah yang menyenaraikan pelanggan yang tidak pernah membuat pesanan?

  1. ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
  2. BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
  3. CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  4. DSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
5.Sederhana

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

  1. A0
  2. BRentetan kosong
  3. CNULL
  4. DRalat
6.Sederhana

Pertanyaan manakah yang memulangkan bilangan pesanan bagi setiap pelanggan?

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

Apakah yang dipulangkan oleh SELECT name, dept, AVG(salary) OVER (PARTITION BY dept) FROM emp?

  1. ASetiap baris pekerja bersama gaji purata jabatan mereka
  2. BRalat kerana name tiada dalam GROUP BY
  3. CHanya pekerja yang berpendapatan melebihi purata jabatan mereka
  4. DSatu baris bagi setiap jabatan dengan gaji puratanya
8.Sukar

Bilakah jadual transaksi serentak dipanggil boleh disiri (serializable)?

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

Kunci jawapan

  1. 1. B · Setiap gabungan baris daripada kedua-dua jadual
  2. 2. C · Data Control Language (DCL)
  3. 3. D · Pengecam buatan tanpa makna perniagaan, seperti id auto-tokokan
  4. 4. C · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  5. 5. C · NULL
  6. 6. D · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  7. 7. A · Setiap baris pekerja bersama gaji purata jabatan mereka
  8. 8. D · Apabila kesannya setara dengan beberapa pelaksanaan bersiri bagi transaksi yang sama

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