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) |
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 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)
Sumber : http://jnet99.wordpress.com/2008/12/28/perintah-exists-dalam-sql/
0 komentar:
Posting Komentar