Di Sql Server 2005 terdapat beberapa enchancements dari sisi T-SQL, salah satunya yaitu Intersect dan Except. Dari artinya saja kita sudah dapat menebak kegunaan dari perintah tsb :) Intersect kalau kita artikan ke Bahasa Indonesia yaitu perpotongan, kalau Except artinya pengecualian.
Misalnya saya punya dua buah himpunan, dari kedua buah himpunan tsb kita dapat mengetahui perpotongan / irisan yang menghasilkan data yang sama dari kedua himpunan tsb. Kalau data yang kita inginkan yaitu data yang tidak dimiliki oleh kedua himpunan tsb berarti data yang diambil yaitu data selain data yang didapat dari irisan tadi, nah di kasus inilah perintah Except dapat kita gunakan.
dari kedua tabel tsb saya ingin mengetahui data kota yang berasal dari tabel customers yang tidak terdapat di tabel sales, berarti kita akan gunakan perintah Except.
hasilnya :
Jakarta, Cianjur, Sukabumi
Kalau kita bandingkan dengan TSQL yang lainnya untuk hasil yang sama maka kita bisa lakukan dengan cara spt ini :
Select Distinct City from Customers
Where City Not In
(Select Distinct City From Sales)
hasilnya sama dengan perintah Except di atas. Disini kita bisa bandingkan efektifitas penulisan syntaxnya. Untuk contoh penggunaan perintah Intersect contoh kasusnya yaitu kalau data yang diinginkan merupakan data yang terdapat pada irisian kedua tabel tsb, misalnya kita bisa mengetahui data kota yang sama yang terdapat di kedua tabel tsb, syntak nya spt ini :
Select City From Customers
Intersect
Select City From Sales
hasilnya :
Semarang, Bandung
kalau kita bandingkan dengan perintah TSQL yang lain :
Select Distinct City from Customers
Where City In
(Select Distinct City From Sales)
maka hasilnya akan sama...so buat developer lebih mudah kan pake perintah TSQL Intersect dan Except kalau menggunakan SQL Server 2005 :)