Modul Praktikum Sistem Basis Data
MODUL VI
SUBQUERIES DAN SET OPERATION
Tujuan :
1. Mahasiswa dapat memahami dan membuat subqueri serta penggunaan set
operation dalam SQL.
2. Memahami tentang subqueries dan dapat menerapkan subqueries.
3. Memahami penggunaan operator UNION.
4. Memahami penggunaan operator INTERSECT.
5. Memahami penggunaan operator EXCEPT.
Tugas Pendahuluan
1. Apa yang anda ketahui tentang subqueries?
2. Apa perbedaan antara subqueri dengan queri biasa?
DASAR MATERI
Subqueries
Subqueries merupakan perintah SQL yang terdiri dari lebih dari satu perintah SQL dan
digunakan untuk mengambil data dari lebih dari satu tabel. Subqueri biasanya terdiri dari dua
perintah SQL. Perintah SQL yang pertama disebut dengan perintah SQL utama dan perintah SQL
kedua disebut subqueri. Untuk lebih jelasnya mengenai subqueri berikut querinya (Octaviani,
2010) :
SELECT select_list
FROM table
WHERE expr operator (SELECT select_list
FROM table);
Operator UNION
Operator UNION digunakan untuk mendapatkan himpunan gabungan dari dua buah
himpunan yang ada. Anggota himpunan ini adalah anggota dari kedua himpunan yang ada. Bila
anda menggabungkan dua tabel maka yang anda dapatkan adalah semua field dari kedua tabel
tersebut(Octaviani, 2010). Querinya sebagai berikut :
Program Studi Sistem Komputer 36
Modul Praktikum Sistem Basis Data
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
Kita misalkan pada database “Toko” mempunyai tabel bernama “Barang” dan “Barang1”
dengan nama field kedua tabel adalah sama yaitu ID_Barang, Nama_barang, Tanggal_terima,
Stok_Barang, maka untuk menampilkan semua data pada tabel barang dan barang1 hanya
menggunakan Queri berikut :
SELECT Nama FROM Brang
UNION
SELECT Nama FROM Barang1
Operator INTERSECT
Intersect merupakan operator yang digunakan untuk memperoleh data dari dua buah
queri dimana data yang ditampilkan adalah yang memenuhi kedua queri tersebut dengan ketentuan
jumlah, nama, dan tipe kolom dari masing-masing tabel yang akan ditampilkan datanya harus sama
(Octaviani, 2010). Querinya sebgai berikut :
SELECT field1, field2, . field_n
FROM tables
INTERSECT
SELECT field1, field2, . field_n
FROM tables;
Operator EXCEPT
Except merupakan operator yang memiliki fungsi untuk mengembalikan sekumpulan nilai
yang ada di tabel pertama, tetapi tidak ada pada tabel kedua(Alam, 2005). Querinya sebgai berikut.
SELECT field1, field2, . field_n
FROM tables
EXCEPT
SELECT field1, field2, . field_n
FROM tables;
Program Studi Sistem Komputer 37
Modul Praktikum Sistem Basis Data
KEGIATAN PRAKTIKUM
Untuk meningkatkan pengetahuan tentang subqueri dan setoperation, cobalah statement
queri dibawah ini pada databse Toko yang anda buat.
Pernyataan Subqueri
Menampilkan ID_Barang, Tanggal_Beli, Nama_Pembeli, dan Jumlah_Pembelian dimana jumlah
pembeliannya yang terbanyak pada tabel Pembelian.
SELECT ID_Barang, Tanggal_Beli, Nama_Pembeli, Jumlah_Pembelian
FROM Pembelian
WHERE Jumlah_Pembelian =(SELECT max (Jumlah_Pembelian)
FROM Pembelian)
Gambar 6.1 Hasil Subqueri pada tabel Pembelian.
Menampilkan data pada tabel Pembelian dimana jumlah pembeliannya yang paling sedikit.
SELECT * FROM Pembelian
WHERE Jumlah_Pembelian=(SELECT min(Jumlah_Pembelian)
FROM Pembelian)
Gambar 6.2 Hasil Subqueri pada tabel Pembelian.
Menampilkan Nama_Barang, Tanggal_terima, dan Stok_Barang pada tabel Barang dengan Jumlah
pemblian kurang dari satu berdasarkan tabel Pembelian.
SELECT Nama_Barang, Tanggal_terima, Stok_Barang
FROM Barang
Where ID_Barang IN
(SELECT ID_Barang
FROM Pembelian WHERE Jumlah_Pembelian<=1)
Program Studi Sistem Komputer 38
Modul Praktikum Sistem Basis Data
Gambar 6.3 Hasil Subqueri pada tabel Barang.
Operator UNION
Menampilkan Nama_Pembeli, dan Jumlah_Pembelian pada tabel Pembelian dan Nama_Barang,
Stok_Barang pada tabel barang.
SELECT Nama_Pembeli,Jumlah_Pembelian
FROM Pembelian
UNION SELECT Nama_Barang,Stok_Barang FROM Barang
Gambar 6.4 Hasil UNION pad tabel Pembelian dan tabel Barang.
Menampilkan Nama_Pembeli, dan Jumlah_Pembelian pada tabel Pembelian dan
Nama_Barang,Stok_Barang pada tabel Barang.
SELECT Nama_Pembeli,Jumlah_Pembelian
FROM Pembelian
UNION ALL SELECT Nama_Barang,Stok_Barang FROM Barang
Program Studi Sistem Komputer 39
Modul Praktikum Sistem Basis Data
Gambar 6.5 Hasil UNION ALL pada tabel Pembelian dan tabel Barang.
Menampilkan Tanggal_Beli, Nama_Pembeli, dan Jumlah_Pembelian pada tabel Pembelian dimana
Jumlah_Pembelian =1 dan menampilkan Tanggal_Beli, Nama_Pembeli, Jumlah_Pembelian pada
tabel Pembelian berdasarkan Nama_Pembeli yang dimulai dengan huruf A
SELECT Tanggal_Beli,Nama_Pembeli,Jumlah_Pembelian
FROM Pembelian WHERE Jumlah_Pembelian='1' UNION ALL SELECT
Tanggal_Beli,Nama_Pembeli,Jumlah_Pembelian
FROM Pembelian WHERE Nama_Pembeli LIKE 'A%'
Gambar 6.6 Hasil UNION ALL pada taebel Pembelian.
INTERSECT
SELECT ID_Barang FROM Barang
WHERE Stok_Barang <6 INTERSECT SELECT ID_Barang
FROM Pembelian
Program Studi Sistem Komputer 40
Modul Praktikum Sistem Basis Data
Gambar 6.7 Hasil INTERSECT pada tabel Barang.
Contoh lain penggunaan Intersect
SELECT *FROM Barang
WHERE Stok_Barang BETWEEN 0 AND 1
INTERSECT
SELECT *FROM Barang
WHERE Stok_Barang BETWEEN 0 AND 2;
Gambar 6.8 Hasil dari INTERSECT pada tabel Barang.
EXCEPT
SELECT ID_Barang FROM Barang
EXCEPT SELECT ID_Barang FROM Pembelian
Gambar 6.9 Hasil dari EXCEPT pada tabel Barang dan tabel Pembelian.
Program Studi Sistem Komputer 41
Modul Praktikum Sistem Basis Data
TUGAS
1. Buatlah Queri SQL masing-masing pada database Mahasiswa dengan menggunakan
subqueries dan setoperation!
2. Perhatikan outputnya dan buatlah kesimpulan mengenai perbedaan antara queri masing-
masing!
Program Studi Sistem Komputer 42