PRAKTIKUM 10 SUBQUERY
Subquery merupakan “query didalam
query” atau perintah select yang berada didalam
perintah select lainnya. Struktur penulisan subquery bisa
dilihat seperti dibawah ini:
Subquery terdiri dari dua
perintah select. Perintah select pertama disebut Outer Query atau
Query induk sedangkan query yang berada pada klausa where
disebut inner query. Inner
query akan dikerjakan terlebih dahulu dan hasilnya akan
digunakan sebagai pembnding pada
pencarian data di klausa where outer query. Subquery dapat
digunakan untuk menghasilkan
nilai-nilai bagi outer query pada saat kriteria pencarian
yang dibutuhkan tidak diketahui.
Sebagai contoh kita ingin mengetahui semua harga jual dari
barang yang lebih kecil dari
harga jual barang dengan kode 10011 sementara kita sendiri
tidak tahu harga jual barang
dengan kode 10011.
Pada subquery menghasilkan nilai 1500000 kemudian digunakan
sebagai pembanding pada
outer query.
Jenis Subquery:
1. Single-row subquery
Merupakan subquery yang hanya menghasilkan satu baris dan
satu kolom data atau data
tanggal
Diatas merupakan contoh single row subquery. Jika kondisi
yang diinginkan lebih dari
satu, kondisi dapat digabungkan menggunakan operator logika
and atau or.
Group Function pada subquery:
Pada subquery juga bisa menggunakan group function seperti
AVG, MAX dan MIN.
2. Multi-row subquery
Menghasilkan lebih dari satu row. Tanda pembanding yang
digunakan dalam multi row
subquery adalah tanda pembanding jamak yaitu IN, ANY dan
ALL.
3. Multi-column Subquery
Multi Column Subquery adalah subquery yang menghasilkan
lebih dari satu kolom. Biasa
disebut juga pairwise subquery. Jumlah dan posisi kolom dari
outer query yang akan
dibandingkan harus sama dengan jumlah dan posisi kolom pada
subquery. Setiap row
pada outer query dibandingkan dengan nilai dari multiple-row
dan multiple-column pada
subquery. Penghubung yang digunakan biasanya IN
4. Correlated subquery
Berbeda dari subquery didepan yang disebut scalar subquery
karena bagian subquery
akan diproses terlebih dahulu untuk menyeleksi outer
querynya. Pada Corelated sebquery
ini outer subquery akan diproses terlebih dahulu kemudian
hasilnya akan dijadikan rujukan untuk memproses
subquery. Disebut correlated subquery
karena subquery
dikerjakan berdasarkan rujukan data dari out query.
Pendefinisian korelasi antara outer
query dan subquery dilakukan pada klausa where di subquery.
Pada correlated subquery,
subquery akan dikerjakan sebanyak jumlah baris di out
query.
Selanjutnya kita akan mencoba melakukan correlated subquery
pada user scott, berikan
perintah alter ke user scott dengan cara
5. Inline View
Merupakan cara untuk mengumpulkan data yang akan dianggap oleh
query utama sebagai
sebuah tabel untuk keperluan pengaksesan query.
Tidak ada komentar:
Posting Komentar