Basis Data: Sub Query
New day, new lab report. Nabil hereee, and today’s session is all about Sub Query. Ready to explore the breakdown with me? let’s goowww!
Basis Data: Sub Query

Gambar 1. Cover Medium
New day, new lab report. Nabil hereee, and today’s session is all about Sub Query. Ready to explore the breakdown with me? let’s goowww!
Pendahuluan
Sub Query atau bisa juga disebut nested query adalah sebuah perintah SQL yang disisipkan ke dalam query utama sebagai bagian dari klausa **WHERE, `FROM,** atauSELECT` . Jadi, pengguna bisa mengeksekusi query yang lebih kompleks dengan menggabungkan hasil dari satu query ke query lainnya.
Dengan subquery, pengguna bisa menggabungkan data dari beberapa tabel, melakukan perbandingan antara hasil query, atau membuat pengambilan data yang lebih terperinci.
→ Klausa WHERE: subquery digunakan untuk memfilter baris berdasarkan kriteria tertentu
→ Klausa **FROM : subquery digunakan untuk menentukan sumber data** untuk query utama
→ Klausa **SELECT: subquery dapat menghasilkan nilai tunggal yang akan dimasukkan ke dalam hasil query utama**
Tipe Sub Query
→ Multiple-column Subquery: Subquery kolom ganda (multiple-column) mengembalikan lebih dari satu baris dan satu kolom data.
→ Multiple-row Subquery: Subquery ini menghasilkan beberapa baris data. Subquery baris ganda dapat menggunakan operator komparasi IN, ANY, SOME, atau ALL.
→ Scalar Subquery: Subquery ini menghasilkan nilai tunggal, seperti hasil perhitungan atau pengambilan data tunggal. Subquery baris tunggal dapat menggunakan operator baris tunggal =, >,>=, <, <=, atau <>.
Praktikum
Pada praktikum ini menggunakan localhost/PhPMyAdmin jika tidak bisa menggunakan localhost maka akan menggunakan ComandPrompt. Disini saya menggunakan localhost. Pada materi minggu ini terdapat beberapa tabel utama, yaitu : mahasiswa, ambil_mk, matakuliah, dosen, dan jurusan. Berikut gambar tabel beserta strukturnya :

Gambar 2. Tabel Mahasiswa

Gambar 3. Tabel Matakuliah

Gambar 4. Tabel Jurusan

Gambar 5. Tabel Dosen

Gambar 6. Tabel Ambil Mk
Selanjutnya kita akan mencoba beberapa tipe sub query
- Scalar : Contoh subquery baris tunggal adalah mendapatkan data mahasiswa yang jenis kelaminnya sama dengan mahasiswa dengan nama “Wati”.
Query :

Gambar 7. Query Scalar
Output :

Gambar 8. Output Query Scalar
- Multiple-RowSubquery : Pada subquery ini, kita menggunakan operator komparasi IN, ANY / SOME, atau ALL
→ Operator IN : artinya — sama dengan member di dalam list. menggunakan operator ini untuk mendapatkan data dosen yang mengajar matakuliah
Query :

Gambar 9. Query Operator IN
Output :

Gambar 10. Output Operator IN
→ Operator ANY/SOME : artinya membandingkan suatu nilai dengan setiap nilai yang dikembalikan oleh subquery. Misalkan kita ingin mendapatkan data matakuliah yang memiliki sks lebih besar dari sembarang (salah satu / setidaknya 1 nilai) sks matakuliah di semester 3.
Query :

Gambar 11. Query Operator ANY/SOME
Output :

Gambar 12. Output Operator ANY/SOME
→ Operator ALL : artinya membandingkan suatu nilai dengan semua nilai yang dikembalikan oleh subquery.Misal, kita ingin mendapatkan data matakuliah yang memiliki sks lebih besar dari semua sks matakuliah di semester 3.
Query :

Gambar 13. Query Operator ALL
Output :

Gambar 14. Output Operator ALL
- Multiple-ColumnSubquery : Pada query ini, nilai dari subquery dalam bentuk kolom ganda dikomparasi main query. Sebagai contoh, misalkan kita ingin menampilkan data matakuliah yang semester dan sksnya sesuai dengan semester dan sks matakuliah dengan kode “PTI447”.
Query :

Gambar 15. Query Multiple-ColumnSubquery
Output :

Gambar 16. Output Multiple-Column Subquery
- Operator EXISTS dan NOT EXISTS : Operator EXISTS dan NOT EXISTS digunakan pada correlated subquery untuk memeriksa apakah subquery mengembalikan hasil atau tidak.
→ EXIST
Query :

Gambar 17. Query Operator EXIST

Gambar 18. Output Operator Exist
→ NOT EXIST :Pernyataan berikut akan mendapatkan data matakuliah yang tidak diambil oleh mahasiswa.
TUGAS MODUL
1.Dapatkan kode dan nama matakuliah dosen yang menjadi Ketua Jurusan Teknik Elektro.
Query :

Output :

2.Dapatkan data mahasiswa yang tidak mengambil matakuliah.
Query :

Output :

3.Dapatkan data dosen yang mengajar matakuliah di atas semester 3.
Query:

Output :

4.Dapatkan data matakuliah dosen yang bukan merupakan Ketua Jurusan Teknik Elektro.
Query :

Output :

- Dapatkan data dosen pengajar matakuliah yang tidak diambil oleh mahasiswa.
Query :

Output :

- Dapatkan data dosen yang mengajar matakuliah dengan sks lebih besar dari sembarang sks.
Query :

Output:

7.Dapatkan data mahasiswa yang tinggal satu wilayah dengan dosen yang bukan merupakan Ketua Jurusan Teknik Elektro.
Query :

Output :

8.Dapatkan data mahasiswa yang diajar oleh Ketua Jurusan Teknik Elektro.
Query :

Output:

Kesimpulan
Sub Query atau bisa juga disebut nested query adalah sebuah perintah SQL yang disisipkan ke dalam query utama sebagai bagian dari klausa WHERE, FROM, atau SELECT. Tipe Sub Query yaitu: Multiple-column Subquery, Multiple-row Subquery, dan Scalar Subquery
And that’s it for today’s session. Another lab, another lesson learned. See you in the next breakdown! thankiesss for exploring with me~~~
References :
Ahmad Nugroho, S.Kom., M.Kom.(2026). SQL SUB QUERY. [Modul 6]
메타데이터
- post_id
- db9d17bdf7d6
- slug
- basis-data-sub-query-db9d17bdf7d6
- url
- https://medium.com/@nabillaparaswati/basis-data-sub-query-db9d17bdf7d6
- canonical_url
- https://medium.com/@nabillaparaswati/basis-data-sub-query-db9d17bdf7d6
- author_url
- https://medium.com/@nabillaparaswati
- status
- ok
- fetched_at
- 2026-06-09 15:37:30