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 corak LIKE, apakah yang diwakili oleh wildcard _ (garis bawah)?

  1. ATepat satu aksara
  2. BAksara ruang
  3. CSebarang huruf tetapi tiada digit
  4. DSifar atau lebih aksara
2.Mudah

Kekangan manakah yang memastikan lajur tidak boleh dibiarkan kosong (NULL)?

  1. AUNIQUE
  2. BDEFAULT
  3. CNOT NULL
  4. DCHECK NULL
3.Mudah

GRANT dan REVOKE tergolong dalam bahagian SQL yang mana?

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

Mengapakah indeks dicipta pada lajur?

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

Pelajar boleh mengambil banyak kursus dan kursus mempunyai ramai pelajar. Bagaimanakah ini dimodelkan dalam jadual?

  1. ADengan lajur kunci asing course_id dalam jadual students yang menunjuk ke courses
  2. BDengan menggabungkan pelajar dan kursus ke dalam satu jadual
  3. CDengan senarai id kursus yang disimpan dalam satu lajur
  4. DDengan jadual simpang yang memegang kunci asing kepada kedua-dua pelajar dan kursus
6.Sederhana

Pertanyaan manakah yang memulangkan gaji tertinggi dalam setiap jabatan?

  1. ASELECT dept, MAX(salary) FROM emp GROUP BY dept
  2. BSELECT MAX(dept), salary FROM emp GROUP BY salary
  3. CSELECT dept, salary FROM emp WHERE salary = MAX(salary)
  4. DSELECT dept, MAX(salary) FROM emp ORDER BY dept
7.Sukar

Selepas customers LEFT JOIN orders, mengapakah menggunakan COUNT(o.id) dan bukan COUNT(*) untuk mengira pesanan bagi setiap pelanggan?

  1. ACOUNT(*) mengira baris berisi NULL sebagai 1 bagi pelanggan tanpa pesanan
  2. BCOUNT(*) tidak dibenarkan selepas cantuman
  3. CCOUNT(*) mengabaikan baris dengan nilai NULL
  4. DCOUNT(o.id) hanya mengira pelanggan berbeza
8.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. CMenggunakan fungsi pada lajur menghalang carian julat indeks yang mudah
  4. DYEAR bukan SQL yang sah

Kunci jawapan

  1. 1. A · Tepat satu aksara
  2. 2. C · NOT NULL
  3. 3. C · Data Control Language (DCL)
  4. 4. A · Untuk mempercepat carian dan cantuman pada lajur itu
  5. 5. D · Dengan jadual simpang yang memegang kunci asing kepada kedua-dua pelajar dan kursus
  6. 6. A · SELECT dept, MAX(salary) FROM emp GROUP BY dept
  7. 7. A · COUNT(*) mengira baris berisi NULL sebagai 1 bagi pelanggan tanpa pesanan
  8. 8. C · Menggunakan fungsi pada lajur menghalang carian julat indeks yang mudah

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