JNet99

Enjoy Saja Bro

Perintah EXISTS dalam SQL

subquerylog1Seperti 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

Filed under: SQL, Tips & Tricks

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

delicious

%d blogger menyukai ini: