SUB QUERY
Contents Definisi Sub Query Sintaks Sub Query Jenis-jenis Sub Query 1 2 Sintaks Sub Query 3 Jenis-jenis Sub Query
Definisi Subquery (disebut juga subselect atau nested select/query atau inner- select) adalah query SELECT yang ada di dalam perintah SQL lain— misalnya SELECT, INSERT, UPDATE, atau DELETE. Keberadaan subquery secara nyata mampu menyederhanakan persoalan- persoalan rumit berkaitan query data. Sebagai contoh, misal terdapat pernyataan sebagai berikut: “Dapatkan data mahasiswa yang alamatnya sama dengan mahasiswa dengan nim 104”
Sintaks
Jenis-jenis Sub Query Scalar Sub Query Subquery baris tunggal (scalar) hanya mengembalikan hasil satu baris data. Operator =, >, >=, <, <=, atau <>.
Jenis-jenis Sub Query Multiple-row Sub Query Subquery baris ganda (multiple-row) mengembalikan lebih dari satu baris data. Subquery baris ganda dapat menggunakan operator komparasi IN, ANY/SOME, atau ALL.
Operator Sub Query Operator IN Operator ANY/SOME Operator ALL Sama dengan member di dalam list. Operator ANY/SOME Membandingkan suatu nilai dengan setiap nilai yang dikembalikan oleh subquery. Operator = ANY ekuivalen dengan IN. Operator < ANY ekuivalen dengan MAX (kurang dari maks). Operator > ANY ekuivalen dengan MIN (lebih dari min). Operator ALL Membandingkan suatu nilai dengan semua nilai yang dikembalikan oleh subquery. Operator < ALL ekuivalen dengan MIN (kurang dari min). Operator > ALL ekuivalen dengan MAX (lebih dari maks).
Jenis-jenis Sub Query Multiple-column Sub Query Subquery kolom ganda (multiple-column) mengembalikan lebih dari satu baris dan satu kolom data.
Operator EXISTS Operator EXISTS dan NOT EXISTS digunakan pada correlated subquery untuk memeriksa apakah subquery mengembalikan hasil atau tidak. Apabila subquery mengembalikan hasil, EXISTS akan mengembalikan nilai true; begitu pula sebaliknya, jika tidak mengembalikan hasil. Contoh : SELECT * FROM mahasiswa WHERE EXISTS (SELECT kd_jur FROM jurusan WHERE kd_jur = mahasiswa.kd_jur);
Latihan MAHASISWA NIM NAMA ALAMAT SEX KD_JUR 111 Iwan Jl. Bandung L 1 112 Budi Jl. Surabaya 2 113 Wati Jl. Semarang P 114 Rere Jl. Bogor 3 115 Mira 4 116 Lala Jl. Jakarta 6 117 Agus JURUSAN KD_JUR NAMA_JUR 1 T.Elektro 2 T.Mesin 3 T.Sipil 4 T.Industri 5 T.Arsitek s Tampilkan data mahasiswa yang memiliki kode jurusan selain kode jurusan dari mahasiswa yang memiliki nim = 112;
Soal ... Tampilkan data mahasiswa yang memiliki alamat sama dengan alamat mahasiswa dengan nim=114 Tampilkan data mahasiswa yang mempunyai nama dengan huruf terakhir sama dengan mahasiswa yang memiliki nim=112 Tampilkan data mahasiswa yang memiliki kode jurusan sama dengan kode jurusan yang ada di data jurusan (kerjakan dengan 3 cara yg berbeda)