0% menganggap dokumen ini bermanfaat (0 suara)
3 tayangan

Modul 11 - Subquery

Diunggah oleh

wandaazizahs
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
3 tayangan

Modul 11 - Subquery

Diunggah oleh

wandaazizahs
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 7

11 .

Subquery

KODE MODUL
20220914-1-1.0 Modul Praktikum Desain Basis Data dan SQL
Program Studi Pendidikan Teknologi Informasi
PENYUSUN Jurusan Sistem Informasi
Satrio Agung Wicaksono, S.Kom., M.Kom. Fakultas Ilmu Komputer
Tri Afirianto, S.T., M.T. Universitas Brawijaya
Welly Purnomo, S.T., M.Kom. © 2022
Muhammad Helmi Yahya
Tujuan dan Pedoman

Tujuan Belajar:
▪ Mampu menggunakan perintah SUBQUERY
▪ Mampu menjalankan perintah SUBQUERY baris tunggal
▪ Mampu menjalankan perintah SUBQUERY baris ganda

Pedoman pelaksanaan praktikum:

1. Awali setiap kegiatan dengan berdoa, agar mendapatkan ilmu yang bermanfaat serta
keberkahan dan kemudahan.
2. Pahami tujuan, pedoman, materi dan latihan dengan baik dan benar.
3. Kerjakan latihan dan studi kasus dengan jujur, sabar, ikhlas dan tekun.
4. Jangan menyalin syntax secara langsung yang terdapat pada modul.
5. Bertanyalah kepada asisten atau dosen apabila terdapat hal yang kurang jelas.
6. Modul ini bukanlah satu – satunya sumber informasi dan pengetahuan.

Referensi

Elmasri, R. and Navathe, S., 2016. Fundamentals of database systems. 7th ed. Boston, MA:
Pearson Addison-Wesley, Boston, MA.

Sharma, N., Perniu, L., Chong, R. F., Iyer, A., Nandan, C., Mitea, A. C., Nonvinkere, M. &
Danubianu, M. 2010. Database fundamentals. IBM Canada.

Ramakrishnan, R. and Gehrke, J. 2012. Database Management Systems. 3rd ed. McGraw-Hill,
Inc., New York.
SUBQUERY

1. Subquery
Pengertian subquery, nested query akan dijelaskan melalui ilustrasi berikut ini:

"Misal kita ingin membuat suatu query untuk mencari gaji semua instructor yang
lebih besar dari gaji yang dimiliki oleh instructor bernama ‘Moreira’.

Jadi Subquery merupakan sebuah query yang disisipkan ke dalam klausa Query Utama (Main
Query) sehingga nantinya nilai yang dikembalikan oleh subquery dapat dipakai oleh Main
Query tersebut. Sintak penulisan Subquery sendiri tidak jauh berbeda seperti penulisan query
pada umumnya, namun yang perlu diperhatikan adalah penempatan dan nilai kembaliannya.
Berikut petunjuk dari penggunaan Subquery :

▪ Letakkan subquery di dalam tanda kurung


▪ Tempatkan subquery pada sisi kanan dari kondisi pembandingan
▪ Gunakan operator baris tunggal dengan subquery baris tunggal dan operator baris
ganda dengan subquery baris ganda

SELECT * FROM instructor WHERE salary > Outer Query


(
SELECT salary FROM instructor WHERE name='Moreira' Inner Query
);
Subquery bisa diletakkan pada beragam penempatan. Untuk praktikum kali ini akan dibahas
penempatan pada klausa SELECT, FROM, WHERE terlebih dahulu. Contoh sebagai berikut :

▪ Subquery pada klausa SELECT


Menggunakan subquery untuk menampilkan id, name dan jumlah course yang telah
diambil oleh student.

SELECT id, name, (SELECT COUNT(*) FROM takes t WHERE t.id=s.id) AS


course_count
FROM student s;

Hasil :

▪ Subquery pada klausa FROM


Menggunakan subquery untuk menampilkan id, name, min_score (nilai course
terendah) dan max_score (nilai course tertinggi) dari setiap student.

SELECT a.id, name, min_score, max_score


FROM (SELECT id, MIN(score) AS min_score, MAX(score) AS max_score
FROM takes GROUP BY id) a, student s
WHERE a.id = s.id;

Hasil :
▪ Subquery pada klausa WHERE
Menggunakan subquery untuk menampilkan instructor yang memiliki gaji di atas rata-
rata.

SELECT * FROM instructor


WHERE salary > (SELECT AVG(salary) FROM instructor);

Hasil :

Petunjuk Penggunaan Sub Query :


▪ Letakkan subquery di dalam tanda kurung ( )
▪ Tempatkan subquery pada sisi kanan dari kondisi perbandingan
▪ Klausa ORDER BY dalam subquery tidak diperlukan jika yang dibentuk adalah
Top-N analysis.
▪ Gunakan operator baris tunggal dengan subquery baris tunggal dan operator
baris ganda dengan subquery baris ganda.

2. Tipe-Tipe Subquery
Subquery terdiri dari beberapa tipe-tipe kembalian, sedangkan yang akan dibahas pada
praktikum kali ini antara lain adalah :

▪ Single row, Subquery baris tunggal


▪ Multiple row, Subquery baris ganda

Single row subquery memberikan hasil hanya satu baris pada bagian subquery. Untuk single
row subquery ini yang digunakan adalah operator pembandingan seperti =, >, >=, <, <= atau <>

Untuk contoh membuat Single Row Subquery ada pada semua contoh query di atas.
Multiple Row Subquery adalah subquery yang menghasilkan lebih dari satu baris. Untuk
multiple row subquery ini yang digunakan adalah operator pembandingan : IN, ANY, atau ALL.

OPERATOR DESKRIPSI
IN Sama dengan anggota dalam daftar nilai kembalian Subquery
ANY Bandingkan suatu nilai terhadap setiap nilai yang dikembalikan oleh Subquery
ALL Bandingkan suatu nilai terhadap seluruh nilai yang dikembalikan oleh Subquery

Untuk membuat Multiple Row Subquery pada praktikum kali ini akan dicontohkan untuk
penggunaan Multiple Row Subquery menggunakan operator pembandingan ANY pada klausa
WHERE maka tulis dan jalankan contoh berikut :

SELECT * FROM course


WHERE course_id IN (
SELECT course_id FROM section
GROUP BY course_id HAVING COUNT(sec_id) > 1
);

Hasil :
Tugas Latihan

A. Soal

Buatlah subquery untuk :

1. Menampilkan instructor yang belum pernah mengajar!


2. Menampilkan course yang pernah diajar setidaknya 2 instructor!
3. Menampilkan student yang paling banyak mendapat nilai A!

Anda mungkin juga menyukai