SubQuery
SubQuerry
Sekarang kita akan membahas tentang subQuery. Sebenarnya alasan saya menulis artikel ini karena saya disuruh mengerjakan tugas tentang subQuery, jadi yah... sekalian lah bagi bagi ilmu :). Nanti kita akan bahas tugas saya setelah pembahasan tentan subQuery yang saya ketahui.
~ Single Row Subquery
Single row subquery adalah subquery yang hanya meberikan hasil satu baris data pada bagian subquery. Tetapi jika kondisi yang diinginkan lebih dari satu,single row bisa digunakan dengan cara mengabungkan kondisi - kondisi yang ada dengan menggunakan operator AND atau OR.
~ Multiple Row Subquery
Berbeda dengan single row, multiple row (seperti namanya) dapat memberikan atau mengembalikan lebh dari satu baris data pada subquery.
Nah sudah cukup pembahasan singkat tentang subQuery. Jadi intinya subQuery adalah anak dari suatu query dan bisa mempunyai anak juga . Kita sekarang langsungke praktek nya (tugas saya) :
Buat database kuliah lalu buat tabel - tabel berikut :
1.Tabel ambil_mk
2. Tabel jurusan
3. Tabel mahasiswa
4. Tabel mata_kuliah
5. Tabel dosen
Lalu Isikan data pada tabel seperti ini :
1. Tabel ambil_mk
2. Tabel jurusan
3. Tabel mahasiswa
4. Tabel mata_kuliah
5. Tabel dosen
Nah, sekarang kita mengerjakan soal - soal berikut :
1. Tampilkan data mahasiswa yang jenis kelaminnya sama dengan mahasiswa yang bernama Wati !
2. Tampilkan data dosen yang mengajar mata kuliah !
3. Tampilkan data mata_kuliah yg memiliki sks lebih besar dari semua sks mata kuliah disemester3 !
4. Tampilkan data mata_kuliah yang semester dan sksnya sama dengan semester dan sks mata_kuliah dengan kode "PT1447" !
Kita akan membahas soal tsb. satu- satu :
1. Kita akan menampilkan mahasiswa yang jenis kelaminnya sama dengan jenis kelaminnya Wati, jadi tuliskan kode berikut :
SELECT * FROM mahasiswa WHERE jenis_kelamin=(SELECT jenis_kelamin FROM mahasiswa WHERE nama="Wati");
Jadi yang akan tampi adalah mahasiswa yang kelaminnya P (jk nya wati) :
SELECT * FROM mata_kuliah WHERE sks > ANY (SELECT sks FROM mata_kuliah WHERE semester=3) AND semester=3;Jadi yang akan tampi adalah mahasiswa yang kelaminnya P (jk nya wati) :
2. Kita akan menampilkan dosen yang kode_dos nya sama dengan di tabel mata_kuliah, tulis lagi nih kode nya :
SELECT * FROM dosen WHERE kode_dos = ANY (SELECT kode_dos FROM mata_kuiah);
Karena kita akan mengambil kode_dos dari mata_kuliah , kan ada banyak tuh maksudnya ada lebih dari satu baris jadi kita menggunakan Multi Row SubQuery. Nanti akan muncul seperti ini :
3. Kita akan menampilkan data mata_kuliah yang sks nya lebih besar dengan semua sks yang ada di semester 3 . Di semester 3 sks terbesar nya adalah 2, jadi seharusnya yang muncul adalah data yang memiliki sks 2 tersebut, caranya adalah :
Sama seperti soal nomor dua kita menggunakan Multi Row SubQuery karena baris dari sks nya lebih dari satu. Gambarnya :
4. Sekarang kita menuju soal yang terakhir, kita akan menampilkan data mata_kulah yang semester dan sks nya sama dengan semester dan sks yang berkode "PT1447". ketik nih :
SELECT * FROM mata_kuliah WHERE semester = (SELECT semester FROM mata_kuliah WHERE kode_mk="PT1447") AND
sks = (SELECT sks FROM mata_kuliah WHERE kode_mk="PT1447");
Soal yang terakhir cukup sederhana, tapi capek ngetiknya... Disini kita menggunakan Single Row SubQuery dan kita menambahkan operator AND untuk mengambil sks dan semester yang sama dengan PT1447.
Sekian penjelasan dan soal latihan tentang subQuery semoga anda dapat mengerti walaupun sedikit dan semoga dapat bermanfaat dalam kehidupan programmer anda :)
SubQuery
Reviewed by mikailm6
on
8:14 PM
Rating:
Post a Comment