1.Mudah
Apakah yang dipulangkan oleh CROSS JOIN?
- AHanya baris yang sepadan pada lajur kunci yang dikongsi
- BSetiap gabungan baris daripada kedua-dua jadual
- CHanya baris yang tidak sepadan
- DHanya baris jadual pertama
2.Mudah
GRANT dan REVOKE tergolong dalam bahagian SQL yang mana?
- AData Definition Language (DDL)
- BData Manipulation Language (DML)
- CData Control Language (DCL)
- DData Query Language (DQL)
3.Mudah
Apakah kunci gubahan (composite key)?
- AKunci yang dijana oleh pangkalan data
- BKunci yang membenarkan nilai pendua
- CKunci yang terdiri daripada dua atau lebih lajur
- DKunci yang disimpan dalam jadual berasingan
4.Sederhana
Mengapakah SELECT price * 2 AS double_price FROM t WHERE double_price > 10 gagal dalam kebanyakan pangkalan data?
- AWHERE dinilai sebelum senarai SELECT, maka alias belum wujud lagi
- BWHERE hanya boleh membandingkan lajur teks
- CAlias tidak boleh mengandungi garis bawah
- DAritmetik tidak dibenarkan dalam senarai SELECT
5.Sederhana
Apakah yang dilakukan oleh ROLLBACK TO SAVEPOINT s1?
- AMembuat asal perubahan selepas savepoint s1, dengan transaksi kekal terbuka
- BMemadam savepoint dan semua jadual yang diubah sejak itu
- CMenamatkan transaksi dan mengkomit segala-galanya
- DMembuat asal seluruh transaksi dari awal
6.Sederhana
Jadual employees mempunyai lajur manager_id yang merujuk pekerja lain. Bagaimanakah anda menyenaraikan setiap pekerja bersama nama pengurusnya?
- AMencantumkan jadual employees dengan dirinya sendiri menggunakan dua alias
- BMenggabungkan jadual dengan dirinya sendiri menggunakan UNION ALL dan penapis WHERE
- CMenggunakan GROUP BY manager_id sahaja
- DMencipta salinan kedua jadual pada cakera
7.Sukar
Dua doktor yang bertugas masing-masing menyemak bahawa yang lain masih bertugas, kemudian kedua-duanya menamatkan tugas serentak. Anomali manakah yang masih dibenarkan oleh pengasingan petikan (snapshot isolation) di sini?
- ABacaan kotor
- BPenulisan kotor
- CBacaan tidak boleh ulang dalam satu transaksi
- DWrite skew
8.Sukar
Jadual mempunyai sejuta baris dan lajur Boolean is_active yang TRUE untuk 95% daripadanya. Mengapakah pengoptimum mungkin mengabaikan indeks pada is_active untuk WHERE is_active = TRUE?
- APengoptimum tidak pernah menggunakan indeks dalam klausa WHERE
- BTRUE dianggap NULL oleh indeks
- CIndeks tidak boleh dicipta pada lajur Boolean
- DKebanyakan baris sepadan, maka imbasan jadual penuh lebih murah daripada banyak carian indeks
Kunci jawapan
- 1. B · Setiap gabungan baris daripada kedua-dua jadual
- 2. C · Data Control Language (DCL)
- 3. C · Kunci yang terdiri daripada dua atau lebih lajur
- 4. A · WHERE dinilai sebelum senarai SELECT, maka alias belum wujud lagi
- 5. A · Membuat asal perubahan selepas savepoint s1, dengan transaksi kekal terbuka
- 6. A · Mencantumkan jadual employees dengan dirinya sendiri menggunakan dua alias
- 7. D · Write skew
- 8. D · Kebanyakan baris sepadan, maka imbasan jadual penuh lebih murah daripada banyak carian indeks
Penyelesaian langkah demi langkah yang lengkap: berlatih topik ini di examproblems.com.