New T-SQL Intersect and Except

Posted at : Apr/10/2007
7664 Views

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.

Contoh, saya punya dua buah tabel Customers dan Sales dengan data sbb :

Customers :

SalesID     FName                City       Country
----------- -------------------- ---------- ----------
1           Agus                   Semarang   IND      
2           Abdul                  Bandung      IND      
3           Roel                    Jakarta         IND
4           Budi                    Cianjur         IND     
5           Dini                     Sukabumi    IND   

Sales :

SalesID     FName                City       Country
----------- -------------------- ---------- ----------
1           Rein                   Surabaya      IND      
2           Andien               Bandung      IND      
3           Will                     Denpasar    IND     
4           Robert               Semarang   IND
5           Keith                  Garut            IND

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.

Select City From Customers
Except
Select City From Sales

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 :)


ABOUT ME

Rully Yulian MF
Rully Yulian Muhammad Firmansyah | Co-Founder & IT Trainer at Native Enterprise | Microsoft Azure Data Scientist | IBM RAG & Agentic AI | IBM Data Science & Data Analyst | Python Certified (PCEP, PCAP) | MOS, MTA, Xamarin Certified, ex MCT | ex MVP

CERTIFICATIONS

Microsoft Certified Associate
IBM RAG and Agentic AI Professional
IBM Data Science Professional IBM Data Analyst Professional
PCAP Associate Python Programmer Certified PCEP Entry Level Python Programmer Certified
Xamarin Certified
MOS 2007
MCPD MCTS
MCAD.NET

NATIVE ENTERPRISE

Native Enterprise - IT Training

FOLLOW ME

Youtube  X Twitter Facebook  Instagram  LinkedIn

RSS


NATIVE ENTERPRISE NEWS

© Copyright 2006 - 2026   Rully Yulian MF   All rights reserved.