Transcript SubQuery

SUB QUERY
Contents
1
Definisi Sub Query
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
1. Scalar Sub Query
Subquery baris tunggal (scalar) hanya
mengembalikan hasil satu baris data.
Operator  =, >, >=, <, <=, atau <>.
Jenis-jenis Sub Query
2. 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
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
3. 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
JURUSAN
112
Budi
Jl. Surabaya
L
2
KD_JUR
113
Wati
Jl. Semarang
P
2
1
T.Elektro
114
Rere
Jl. Bogor
L
3
2
T.Mesin
115
Mira
Jl. Bogor
P
4
3
T.Sipil
116
Lala
Jl. Jakarta
P
6
4
T.Industri
117
Agus
Jl. Surabaya
L
2
5
T.Arsitek
NAMA_JUR
Tampilkan data mahasiswa yang memiliki kode
jurusan selain kode jurusan dari mahasiswa yang
memiliki nim = 112;
Soal ...
1. Tampilkan data mahasiswa yang memiliki
alamat sama dengan alamat mahasiswa
dengan nim=114
2. Tampilkan data mahasiswa yang
mempunyai nama dengan huruf terakhir
sama dengan mahasiswa yang memiliki
nim=112
3. Tampilkan data mahasiswa yang memiliki
kode jurusan sama dengan kode jurusan
yang ada di data jurusan (kerjakan dengan
3 cara yg berbeda)