1.Mudah
Pernyataan SQL manakah yang mengubah nilai pada baris yang sudah ada?
- AREPLACE COLUMN
- BINSERT
- CUPDATE
- DMODIFY
2.Mudah
Pernyataan seperti CREATE, ALTER, dan DROP termasuk bagian SQL yang mana?
- AData Control Language (DCL)
- BData Manipulation Language (DML)
- CData Definition Language (DDL)
- DTransaction Control Language (TCL)
3.Mudah
Baris mana yang dipilih oleh WHERE price BETWEEN 10 AND 20?
- AHanya baris dengan price sama dengan 10 atau 20
- BBaris dengan price dari 10 sampai 20, termasuk 10 dan 20
- CBaris dengan price di luar rentang 10 sampai 20
- DBaris dengan price di atas 10 dan di bawah 20, tidak termasuk 10 dan 20
4.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 IS NOT NULL
- BSELECT c.name FROM customers c LEFT 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 = NULL
- DSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
5.Sedang
Sebuah tabel memiliki baris dengan col bernilai NULL. Baris mana yang dikembalikan oleh WHERE col = NULL?
- AError di setiap basis data
- BSemua baris tabel
- CTidak ada baris, karena hasil perbandingannya tidak diketahui (unknown)
- DHanya baris dengan col bernilai NULL, seperti pada IS NULL
6.Sedang
Sebuah kunci asing dideklarasikan dengan ON DELETE CASCADE. Apa yang terjadi ketika baris induk dihapus?
- APenghapusan selalu ditolak
- BBaris induk disalin ke tabel arsip
- CBaris anak yang merujuknya dihapus secara otomatis
- DKunci asing pada baris anak otomatis diatur menjadi NULL
7.Sulit
Diberikan dependensi fungsional A → B, B → C, dan C → D pada R(A, B, C, D), berapakah closure A+?
- A{A, B}
- B{A, B, C, D}
- C{A}
- D{A, B, C}
8.Sulit
Setelah customers LEFT JOIN orders, mengapa menggunakan COUNT(o.id) dan bukan COUNT(*) untuk menghitung pesanan per pelanggan?
- ACOUNT(*) tidak diizinkan setelah join
- BCOUNT(*) menghitung baris berisi NULL sebagai 1 untuk pelanggan tanpa pesanan
- CCOUNT(*) mengabaikan baris dengan nilai NULL
- DCOUNT(o.id) hanya menghitung pelanggan yang berbeda
Kunci jawaban
- 1. C · UPDATE
- 2. C · Data Definition Language (DDL)
- 3. B · Baris dengan price dari 10 sampai 20, termasuk 10 dan 20
- 4. B · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- 5. C · Tidak ada baris, karena hasil perbandingannya tidak diketahui (unknown)
- 6. C · Baris anak yang merujuknya dihapus secara otomatis
- 7. B · {A, B, C, D}
- 8. B · COUNT(*) menghitung baris berisi NULL sebagai 1 untuk pelanggan tanpa pesanan
Penyelesaian lengkap langkah demi langkah: latih topik ini di examproblems.com.