Selasa, 19 Juni 2012

Perintah EXISTS dalam SQL

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)

Sumber : http://jnet99.wordpress.com/2008/12/28/perintah-exists-dalam-sql/

0 komentar:

Posting Komentar

Twitter Delicious Facebook Digg Stumbleupon Favorites More