Anda di halaman 1dari 4

Bab 6 – Sub Query

Tujuan Pembelajaran

1. Mahasiswa mampu memahami definisi Sub Query


2. Mahasiswa mampu menggunakan Sub Query

Pokok Bahasan

1. Definisi Sub Query


2. Menggunakan Sub Query

6.1 Definisi Sub Query (Query dalam Query)


Sub Query adalah perintah SELECT (query)) yang terdapat di dalam perintah
SELECT yang lain (Raharjo, 2011).
2011) Dengan dukungan sub query, kita dapat lebih mudah
untuk membuat berbagai macam format laporan sesuai dengan yang diharapkan, misalnya
untuk membuat crosstab query (query yang digunakan untuk mengkalkulasi penjumlahan,
nilai rata-rata,
rata, menghitung jumlah record,, dan operasi lainnya dimana total data tersebut di
group dengan dua tipe informasi, satu informasi berada pada sisi sebelah kiri (sebagai
baris), dan informasi lainnya berada pada sisi sebelah atas (sebagai kolom)).
kolom))

6.2 Menggunakan Sub Query


Sebagai contoh sederhana untuk mengilustrasikan kegunaan subquery,
subquery kita akan
membuat query yang dapat memberikan informasi jumlah buku yang diterbitkan oleh
masing-masing penerbit.

Praktikum 6.1
1) Buat database dengan nama : katalog_buku_kelas
2) Kemudian buat dua struktur tabel yaitu tbl_penerbit dan tbl_buku.
Tabel 6.1 Spesifikasi Tabel tbl_penerbit
Panjang
No Field Tipe Data Keterangan
Data
1 IDPenerbit Char 4 Primary Key
2 NamaPenerbit Varchar 25
Modul Praktikum Sistem Basis Data
STMIK Teknokrat © Copyright (2016) All Rights Reserved 71
Bab 6 – Sub Query

Tabel 6.2 Spesifikasi Tabel tbl_buku


Panjang
No Field Tipe Data Keterangan
Data
1 ISBN Char 13 Primary Key
2 JudulBuku Varchar 75
3 IDPenerbit Char 4 Foreign Key
4 TanggalTerbit Date
5 JumlahHalaman Int
6 Harga Decimal

3) Selanjutnya, relasikan kedua tabel tersebut sehingga membentuk relasi seperti


gambar 6.1 berikut :

Gambar 6.1 Relasi tbl_buku dan tbl_penerbit

4) Isikan data pada tbl_penerbit dan tbl_buku dengan data sebagai berikut :
Tabel 6.3 Tabel Data Penerbit

IDPenerbit NamaPenerbit
PB01 ANGKASA RAYA
PB02 CAHAYA ILMU PERSADA
PB03 SINAR ILMU PERKASA
PB04 INTAN
PB05 SINAR RAYA
PB06 INFORMATIKA
PB07 TIGA SEKAWAN
PB08 CIPTA ILMU

Modul Praktikum Sistem Basis Data


STMIK Teknokrat © Copyright (2016) All Rights Reserved 72
Bab 6 – Sub Query

Tabel 6.4 Tabel Data Buku


ID Tanggal Jumlah
ISBN Judul Buku Harga
Penerbit Terbit Halaman
222-34222-1-0 Mudah Belajar Photoshop PB01 2003/07/02 300 42000
Panduan Praktiks Menggunakan
222-34222-1-1 PB02 2004/03/15 400 55000
Corel Draw
Panduan Membangun Jaringan
666-96771-2-0 PB08 2006/08/02 200 60000
TCP/IP
666-96771-2-1 Implementasi TCP/IP di Linux PB08 2008/11/21 230 35000
777-76723-5-0 Cara Belajar Cepat PHP 6 PB07 2010/05/02 600 95000
Membuat Aplikasi Web dengan
777-76723-5-1 PB07 2004/08/01 180 30000
ASP
777-76723-5-2 Belajar Sendiri Internet Marketing PB07 2007/01/24 150 38500
Panduan Menggunakan Yahoo dan
777-76723-5-3 PB07 2007/01/24 243 38500
Google
888-96771-3-0 Pemrograman Pascal PB08 2004/11/01 350 50000
888-96771-3-1 Pemrograman Java PB06 2007/01/23 450 72000
888-96771-3-2 Pemrograman C untuk Hardware PB05 2006/12/25 398 47000
888-96771-3-3 Menjadi Master C++ PB06 2005/07/15 490 65000
888-96771-3-4 Mudah Belajar Delphi PB05 2008/08/11 328 50000
888-96771-3-5 Visual Basic PB02 2007/10/14 250 50000
979-96446-9-0 Menguasai SQL PP06 2009/10/12 346 45000
979-96446-9-2 Rancangan Sistem PB03 2003/09/20 403 37500
999-11555-2-1 Microsoft Word 2010 PB03 2010/12/01 270 60000

5) Ketik perintah SQL berikut pada area kerja query :

SELECT A.IDPenerbit, A.NamaPenerbit,


(SELECT COUNT( * ) FROM tbl_buku
WHERE IDPenerbit = A.IDPenerbit) AS JumlahBuku
FROM tbl_penerbit A ;

Penggunaan Alias “A” sebagai


pengganti nama tabel
6) Eksekusi query
7) Tampilan data seperti gambar 6.2 berikut :

SELECT bagian luar


untuk menyeleksi
data dari
tbl_penerbit,
sedangkan SELECT
bagian dalam untuk
menyeleksi data dari
tbl_buku.
Gambar 6.2 Tampilan data hasil penggunaan subquery

Modul Praktikum Sistem Basis Data


STMIK Teknokrat © Copyright (2016) All Rights Reserved 73
Bab 6 – Sub Query

Praktikum 6.2

1) Ketik perintah SQL berikut pada area kerja query :

SELECT IDPenerbit, NamaPenerbit


FROM tbl_penerbit
WHERE
IDPenerbit NOT IN (SELECT IDPenerbit FROM tbl_buku);

2) Eksekusi query Menampilkan data penerbit pada


3) Tampilan data seperti pada tbl_penerbit yang datanya tidak
terdapat pada tbl_buku.
gambar 6.3 berikut :

Gambar 6.3 Tampilan data hasil penggunaan subquery(2)

Modul Praktikum Sistem Basis Data


STMIK Teknokrat © Copyright (2016) All Rights Reserved 74