Seperti halnya perintah IN perintah EXIST juga sering dipergunakan dalam subquery di SQL, walaupun ada sedikit perbedaan cara penulisan keduanya tetapi kita bisa menggunakan salah satu dari perintah ini jika dalam suatu kasus kita harus menggunakan subquery.
Contoh kasusnya begini :
Anda mempunyai sekumpulan data dalam suatu tabel, kita beri nama saja tabel_A berisi {‘1001’, ‘1002’, ‘1003’, ‘1004’, ‘1005’}. Dan Anda juga mempunyai tabel yang lain, anggap saja namanya tabel_B berisi {‘1002’,’1005’,’1006’,’1007’}.
Dari dua tabel ini Anda ingin menampilkan anggota himpunan tabel_A yang juga merupakan anggota himpunan tabel_B.
Kalau kita terjemahkan dalam konsep himpunan, ini merupakan irisan dari dua himpunan. Dan hasilnya {‘1002’,’1005’}.
Tapi Anda harus ingat dalam praktek pengelolaan data nantinya kita harus berhadapan dengan jumlah ribuan data bahkan jutaan data lebih yang harus dikelola cepat. Jadi tidak bisa lagi dengan manual seperti diatas cukup dilihat kita sudah tahu jawabannya. Untuk itu perlu dikelola dengan perintah SQL. Contoh diatas merupakan contoh sederhana tapi sering kali kita ketemu kasus tersebut.
Bentuk perintah SQL-nya sebagai berikut
| SELECT* FROM tabel_A a WHERE EXISTS(SELECT* FROM table_B b WHERE b.kode = a.kode) |
Silakan dicoba hasilnya sama dengan yang diinginkan.
Kasus kebalikannya juga sering terjadi dalam mengelola database, yaitu Anda ingin menampilkan himpunan tabel_A dimana tidak mengandung suatu anggota himpunan tabel_B.
tabel_A = {‘1001’, ‘1002’, ‘1003’, ‘1004’, ‘1005’}
tabel_B = {‘1002’,’1005’,’1006’,’1007’}
disini terlihat {‘1001’,’1003’,’1004’} bukan merupakan anggota himpunan tabel_B
Dapat diterjemahkan dalam bahasa SQL sebagai berikut :
| SELECT* FROM tabel_A a WHERE NOT EXISTS(SELECT* FROM table_B b WHERE b.kode = a.kode) |
Dalam perintah ini ada tambahan perintah NOT .
Dalam mencoba perintah-perintah diatas Anda harus mempunyai database sendiri, kemudian di DATABASE tersebut harus CREATE TABLE tabel_A dan tabel_B yang kemudian datanya diisi dengan perintah INSERT ke masing-masing tabelnya. Diharapkan Anda sudah mengerti dalam urusan membuat DATABASE dan CREATE TABLE ini. Soalnya dua urusan ini merupakan sangat fundamental sekali.
Sekedar info, saya membuat perintah-perintah SQL lebih cenderung memakai Query Analyzer kepunyaan Microsoft SQL (SQL Server).
Artikel lainnya
- Dasar-Dasar SQL 1
- Dasar-Dasar SQL 2
- Dasar-Dasar SQL 3
- Dasar-Dasar SQL 4
- Konsep Himpunan Dalam SQL
- Instalasi MySQL
- Koneksi Delphi ke SQL Server
- Full Join dan Cross Join dalam SQL
- Query Dalam Query
- Perintah EXISTS dalam SQL
- Perbedaan Perintah UNION dan UNION ALL dalam SQL
- Cara Membuat Store Procedure di SQL Server
- Perintah LIKE dalam SQL
- Create Trigger dalam SQL
- INSERT…… Perintah Lanjutan SQL
Filed under: SQL, Tips & Tricks




Komentar Terakhir