1.Mudah
Baris mana yang dipilih oleh WHERE price BETWEEN 10 AND 20?
- ABaris dengan price di atas 10 dan di bawah 20, tidak termasuk 10 dan 20
- BHanya baris dengan price sama dengan 10 atau 20
- CBaris dengan price dari 10 sampai 20, termasuk 10 dan 20
- DBaris dengan price di luar rentang 10 sampai 20
2.Mudah
Apa yang dijamin oleh constraint UNIQUE pada sebuah kolom?
- AKolom itu tidak dapat diubah setelah insert
- BKolom itu otomatis menjadi kunci primer tabel
- CTidak ada dua baris yang memiliki nilai non-NULL yang sama di kolom itu
- DNilai-nilai kolom itu terurut
3.Mudah
Klausa manakah yang menyaring baris sebelum pengelompokan?
- AORDER BY
- BGROUP BY
- CWHERE
- DHAVING
4.Sedang
Mengapa indeks dibuat pada kolom?
- AUntuk mempercepat insert dan update pada kolom tersebut
- BUntuk mencegah nilai NULL
- CUntuk mempercepat pencarian dan join pada kolom tersebut
- DUntuk menghemat ruang disk
5.Sedang
Kapan WHERE EXISTS (subkueri) bernilai benar untuk sebuah baris?
- AKetika subkueri mengembalikan tepat satu baris
- BKetika subkueri mengembalikan bilangan yang lebih besar dari nol
- CKetika subkueri tidak mengembalikan nilai NULL
- DKetika subkueri mengembalikan sekurang-kurangnya satu baris
6.Sedang
Kueri mana yang menampilkan pelanggan yang belum pernah membuat pesanan?
- ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
- BSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
- DSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
7.Sulit
Mengapa SELECT dept, name, COUNT(*) FROM emp GROUP BY dept tidak valid dalam SQL standar?
- Aname tidak dikelompokkan maupun diagregasi, sehingga tidak memiliki satu nilai per kelompok
- BCOUNT(*) tidak dapat digunakan bersama GROUP BY
- Cdept harus berada di dalam fungsi agregat
- DGROUP BY harus mencantumkan semua kolom tabel
8.Sulit
Dengan multiversion concurrency control (MVCC), bagaimana pembaca dapat menghindari memblokir penulis?
- APembaca melihat snapshot konsisten dari versi baris yang sudah di-commit sementara penulis membuat versi baru
- BPembaca langsung membaca data yang belum di-commit
- CPenulis tidak diizinkan selama ada pembaca yang aktif
- DPembaca selalu menunggu sampai semua penulis melakukan commit
Kunci jawaban
- 1. C · Baris dengan price dari 10 sampai 20, termasuk 10 dan 20
- 2. C · Tidak ada dua baris yang memiliki nilai non-NULL yang sama di kolom itu
- 3. C · WHERE
- 4. C · Untuk mempercepat pencarian dan join pada kolom tersebut
- 5. D · Ketika subkueri mengembalikan sekurang-kurangnya satu baris
- 6. D · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- 7. A · name tidak dikelompokkan maupun diagregasi, sehingga tidak memiliki satu nilai per kelompok
- 8. A · Pembaca melihat snapshot konsisten dari versi baris yang sudah di-commit sementara penulis membuat versi baru
Penyelesaian lengkap langkah demi langkah: latih topik ini di examproblems.com.