7.1 SELECT
Berdasarkan kasus yang sudah ada,
ada beberapa permasalahan yang mungkin saja agak rumit jika diselesaikan dengan
query SQL dasar. Misal Anda diminta untuk menampilkan data pengarang, yang pada
tahun 2017 bukunya diterbitkan oleh Erlangga dan pada tahun 2016 bukunya
diterbitkan oleh Andi.
Untuk menyelesaikan ini Anda dapat
menggunakan subquery bersarang:
Gambar
7. 1 Query
bersarang untuk kasus SELECT
DISTINCT digunakan
untuk jika dalam suatu tampilan data terdapat baris yang duplikat (lebih dari
satu baris dengan isi yang sama), maka hanya ditampilkan satu baris data
saja.
7.2 INSERT
Jika Anda diminta
untuk memasukkan data baru, dimana memiliki detail sebagai berikut:
Iddesa : null
Namadesa : Ranggang
Idkegiatan : null
Idpemberitahuan : 11
Maka Anda dapat menggunakan query
bersarang berikut untuk tabel desa:
Gambar 7. 2 Query bersarang untuk menginputkan
data desa
Sementara untuk tabel kegiatan akan menjadi lebih rumit,
karena kita tidak tahu informasi idkegiatan.
Sedangkan PK dari desa mengharuskan
format kode memuat iddesa dan idkegiatan. Hal tersebut bukan masalah,
Anda dapat memasukkan kode dummy terlebih
dahulu, yang kemudian Anda bisa update nantinya. Misal:
Gambar
7. 3 Query
bersarang untuk menginputkan data kegiatan
Selanjutnya Anda tinggal menuliskan
perintah UPDATE:
7.3 UPDATE
Perhatikan tampilan data buku dan
penerbit berikut:
Misalkan ada kesalahan pada data di atas. Id kegiatan
Maka query bersarang yang bisa Anda gunakan adalah:
Gambar 7. 4 Query bersarang untuk kasus UPDATE
7.4 DELETE
Sama seperti kasus sebelumnya,
jika diminta untuk menghapus data desa yang
kegiatan, maka query yang
dapat digunakan adalah sebagai berikut:
Gambar
7. 5 Query
bersarang untuk kasus DELETE
Jika data desa ada yang dihapus, lalu
bagaimana dengan tabel kegiatam?
Karena sebelumnya membangun tabel desa menggunakan ON DELETE CASCADE, maka seharusnya data pada tabel tersebut akan
otomatis ikut hilang. Mari kita buktikan, tampilkan data pada tabel desa
menggunakan select * from desa;
Tidak ada komentar:
Posting Komentar