0% menganggap dokumen ini bermanfaat (0 suara)
0 tayangan12 halaman

Modul Subquery

Dokumen ini membahas tentang SQL bertingkat atau subquery, yang merupakan teknik untuk menempatkan query di dalam query lain untuk pengambilan data yang lebih kompleks. Terdapat penjelasan mengenai pengertian, aturan penulisan, jenis-jenis subquery, serta keuntungan dan keterbatasan penggunaannya. Dengan memahami subquery, pengguna dapat membuat query yang lebih efisien dan efektif dalam pengambilan data dari basis data.
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
0 tayangan12 halaman

Modul Subquery

Dokumen ini membahas tentang SQL bertingkat atau subquery, yang merupakan teknik untuk menempatkan query di dalam query lain untuk pengambilan data yang lebih kompleks. Terdapat penjelasan mengenai pengertian, aturan penulisan, jenis-jenis subquery, serta keuntungan dan keterbatasan penggunaannya. Dengan memahami subquery, pengguna dapat membuat query yang lebih efisien dan efektif dalam pengambilan data dari basis data.
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 12

TUGAS BASIS DATA

(SQL BERTINGKAT)

Disusun oleh :
Nama : 1. Aisyah Syifa Salsabilla
2. Dania Afidzha Rayya
Kelas : XI-RPL

REKAYASA PERANGKAT LUNAK


SMK MASKUMAMBANG 2
DUKUN GRESIK
A. SQL BERTINGKAT
SQL bertingkat atau subquery adalah teknik dalam SQL di mana sebuah query
ditempatkan di dalam query lain. Tujuannya adalah untuk mengambil data yang hasilnya
akan digunakan oleh query utama, memungkinkan pengambilan data yang lebih
kompleks dan dinamis. Berikut adalah penjelasan lebih lanjut mengenai SQL
bertingkat:Berikut adalah modul singkat tentang query bertingkat:

1. Pengertian Subquery

Subquery adalah query yang bersarang di dalam query lainnya. Subquery


digunakan untuk mengambil data yang hasilnya dipakai dalam query utama. Subquery
biasanya dibungkus dalam tanda kurung.

Contoh dasar subquery:

Dalam contoh ini, subquery digunakan untuk mendapatkan id_departemen dari tabel
departemen dengan nama "HR", dan hasilnya dipakai oleh query utama untuk
mendapatkan daftar karyawan dari departemen tersebut.

2. Aturan penulisan Subqery

Penulisan subquery atau kueri turunan dalam sistem basis data (misalnya
SQL) melibatkan pembuatan kueri di dalam kueri utama. Subquery digunakan untuk
menghasilkan data sementara yang bisa digunakan oleh kueri utama. Ada beberapa
aturan penting dalam penulisan subquery:

1) Letakkan Subquery di Dalam Kurung

Semua subquery harus dibungkus dalam tanda kurung agar mesin


database memahami bahwa itu adalah kueri terpisah yang harus dijalankan
terlebih dahulu.

Contoh:
2) Subquery Bisa Digunakan di SELECT, FROM, atau WHERE

 Di bagian SELECT: Subquery menghasilkan satu nilai yang digunakan


sebagai bagian dari hasil akhir.
 Di bagian FROM: Subquery bertindak sebagai tabel sementara.
 Di bagian WHERE: Subquery digunakan untuk memfilter hasil kueri
utama.

Contoh:

3) Subquery Harus Menghasilkan Data yang Sesuai

Tipe data yang dihasilkan subquery harus sesuai dengan tempat di


mana ia digunakan. Misalnya, subquery yang digunakan di bagian WHERE
harus menghasilkan nilai yang dapat dibandingkan dengan kolom utama.

Contoh: Jika kueri utama memeriksa ID pelanggan, subquery juga harus


mengembalikan ID pelanggan, bukan kolom lain seperti nama pelanggan.
4) Gunakan Subquery Terkait (Correlated Subquery) Secara
Efisien

Subquery terkait mengacu pada kueri utama, artinya subquery ini


dieksekusi berulang kali untuk setiap baris dalam kueri utama. Ini bisa
memperlambat eksekusi, jadi gunakan hanya jika diperlukan.

Contoh:

5) Hindari Penggunaan Subquery yang Tidak Efisien

Sebisa mungkin hindari penggunaan subquery yang terlalu rumit atau


dapat digantikan dengan JOIN, karena performa eksekusi JOIN biasanya lebih
baik dibandingkan subquery kompleks.

Contoh mengganti subquery dengan JOIN:

sql
Copy code
-- Dengan subquery

-- Menggunakan JOIN untuk performa yang lebih baik


6) Perhatikan Penggunaan IN, ANY, ALL, dan EXISTS

 IN: Memeriksa apakah nilai ada di dalam daftar hasil dari subquery.
 ANY/ALL: Membandingkan nilai dengan setiap hasil dari subquery.
 EXISTS: Memeriksa apakah subquery menghasilkan setidaknya satu
baris.

Contoh penggunaan EXISTS:

Dengan mengikuti aturan ini, penulisan subquery akan lebih efektif dan
menghasilkan hasil yang lebih akurat serta performa yang lebih baik.

2. Jenis-jenis Subquery

Subquery dapat dibagi menjadi beberapa jenis berdasarkan bagaimana mereka


digunakan dan bagaimana hasilnya diintegrasikan dengan kueri utama. Berikut adalah
jenis-jenis subquery:

1) Subquery Skalar (Scalar Subquery)

 Definisi: Menghasilkan satu nilai tunggal (satu baris dan satu kolom).
 Penggunaan: Biasanya digunakan di dalam klausa SELECT, WHERE, atau
HAVING.
 Contoh:
 Catatan: Jika subquery menghasilkan lebih dari satu baris, akan menyebabkan
error.

2) Subquery Baris Tunggal (Single-row Subquery)

 Definisi: Menghasilkan satu baris dengan satu atau beberapa kolom.


 Penggunaan: Biasanya digunakan di dalam klausa WHERE atau HAVING dengan
operator perbandingan seperti =, <, >, >=, atau <=.
 Contoh:

 Catatan: Jika subquery menghasilkan lebih dari satu baris, akan menyebabkan
error.

3) Subquery Multibaris (Multiple-row Subquery)

 Definisi: Menghasilkan lebih dari satu baris (tetapi biasanya hanya satu
kolom).
 Penggunaan: Digunakan dengan operator seperti IN, ANY, ALL.
 Contoh:
4) Subquery Multikolom (Multiple-column Subquery)

 Definisi: Menghasilkan lebih dari satu kolom (dapat berupa satu atau lebih
baris).
 Penggunaan: Digunakan di klausa IN atau dibandingkan dengan lebih dari
satu kolom di kueri utama.
 Contoh:

5) Subquery Terkait (Correlated Subquery)

 Definisi: Subquery yang bergantung pada nilai dari kueri utama, sehingga
subquery dieksekusi sekali untuk setiap baris dari kueri utama.
 Penggunaan: Digunakan di klausa WHERE, sering digunakan dalam optimisasi
kueri yang kompleks.
 Contoh:
 Catatan: Karena dieksekusi berulang kali, ini bisa memperlambat kinerja jika
tidak dioptimalkan.

6) Subquery Tidak Terkait (Non-correlated Subquery)

 Definisi: Subquery yang tidak bergantung pada kueri utama dan dapat
dieksekusi secara independen.
 Penggunaan: Digunakan di bagian mana saja dari kueri utama.
 Contoh:

 Catatan: Kueri ini lebih efisien karena hanya dieksekusi sekali.

7) Subquery dalam Klausa FROM (Inline View)

 Definisi: Subquery yang digunakan di klausa FROM, bertindak sebagai tabel


sementara.
 Penggunaan: Berguna untuk menyederhanakan kueri kompleks atau
menyusun ulang data sebelum kueri utama.
 Contoh:
8) Subquery dengan Operator EXISTS

 Definisi: Mengembalikan TRUE jika subquery menghasilkan setidaknya satu


baris, dan FALSE jika tidak ada baris yang dihasilkan.
 Penggunaan: Digunakan di klausa WHERE atau HAVING.
 Contoh:

9) Subquery dengan Operator ANY atau ALL

 Definisi:
o ANY: Memeriksa apakah suatu kondisi benar untuk setidaknya satu
hasil dari subquery.
o ALL: Memeriksa apakah suatu kondisi benar untuk semua hasil dari
subquery.

Dengan memahami jenis-jenis subquery ini, kita dapat memilih tipe subquery
yang paling tepat untuk kebutuhan kueri yang berbeda.
3. Subquery Tunggal vs. Subquery Ganda

 Subquery Tunggal: Menghasilkan satu nilai dan digunakan dalam query


utama.
 Subquery Ganda: Menghasilkan beberapa nilai, biasanya digunakan dengan
klausa IN, ANY, atau ALL.

Contoh subquery tunggal:

Query ini mengambil produk dengan harga tertinggi.

Contoh subquery ganda:

Query ini mencari karyawan yang bekerja di departemen yang berlokasi di Jakarta.

4. Operator dalam Subquery

 IN: Memeriksa apakah nilai ada dalam daftar hasil subquery.


 EXISTS: Memeriksa apakah subquery menghasilkan baris.
 ANY dan ALL: Digunakan untuk membandingkan satu nilai dengan hasil dari
subquery.
5. Subquery Terkait (Correlated Subquery)

Subquery terkait adalah subquery yang bergantung pada query utama untuk nilainya.
Dengan kata lain, subquery ini dieksekusi sekali untuk setiap baris dalam query
utama.

Contoh correlated subquery:

Query ini mengambil karyawan yang gajinya lebih besar dari rata-rata gaji di
departemennya.

6. Penggunaan dalam Klausa Lain

Selain SELECT dan WHERE, subquery bisa digunakan dalam:

 HAVING: Untuk memfilter hasil berdasarkan grup setelah perhitungan agregat.


 FROM: Menggunakan hasil subquery sebagai tabel sementara (alias derived
table).

Contoh subquery dalam FROM:

7. Keuntungan Menggunakan Subquery

 Memungkinkan pembacaan query yang lebih modular dan mudah dipahami.


 Bisa menyederhanakan masalah kompleks dengan memecahnya menjadi bagian-
bagian yang lebih kecil.
 Berguna ketika tidak bisa menggunakan JOIN atau teknik lain untuk mengambil
data.

8. Keterbatasan Subquery

 Bisa memperlambat performa jika tidak dioptimalkan, terutama subquery yang


kompleks atau subquery terkait.
 Tidak selalu lebih efisien daripada penggunaan JOIN untuk query dengan
hubungan antar tabel.

Dengan menggunakan subquery secara efektif, kita dapat membuat query yang kuat
dan fleksibel untuk mengambil informasi dari basis data yang kompleks.

Anda mungkin juga menyukai