Modul 10 Union, Intersection, Difference
Modul 10 Union, Intersection, Difference
10.2. Tujuan
Setelah mengikuti praktikum ini mahasiswa diharapkan dapat:
1. Memahami operasi union
2. Memahami operasi intersection
3. Memahami operasi difference
A B
10.4.1.1 UNION
Union (operatornya adalah UNION) merupakan operasi menggabungkan dua data set yang memiliki
kolom dengan definisi dan urutan yang sama. Apabila ada duplikasi data (data yang sama) maka hanya
dimunculkan sekali.
Contoh operasi union adalah sebagai berikut.
SELECT building, room_number FROM dbo.classroom WHERE building like 'A%'
UNION
Dari sintaksis tersebut akan ditampilkan building dan room_number yang memiliki awalan A dan
awalan 7.
Contoh lain adalah sebagai berikut.
SELECT ID, course_id, semester FROM takes
UNION
A A∩B B
10.4.2.1. INTERSECT
Intersection (operatornya adalah INTERSECT) merupakan operasi irisan himpunan yang
menghasilkan result set berupa data-data yang sama dari beberapa himpunan data yang diiriskan. Contoh
berikut mengambil student beserta course yang diambil hanya tahun 2005 dan diiriskan dengan student
beserta course yang diambil course pada semester “Fall” semua tahun.
SELECT ta.ID, s.name, s.dept_name, ta.course_id, c.title, ta.semester, ta.year,
ta.grade FROM takes ta
join student s on s.ID=ta.ID
join course c on c.course_id=ta.course_id
WHERE ta.year = 2005
INTERSECT
SELECT ta.ID, s.name, s.dept_name, ta.course_id, c.title, ta.semester, ta.year,
ta.grade FROM takes ta
join student s on s.ID=ta.ID
join course c on c.course_id=ta.course_id
WHERE ta.semester = 'Fall'
Dari sintaksis di atas maka menghasilkan student beserta course pada tahun 2005 pada semester
“Fall”.
10.4.3. Operasi Difference
Operasi difference atau selisih dari himpunan A dan B adalah himpunan yang anggotanya semua dari
A tetapi bukan anggota B. Ilustrasi himpunan A yang diselisihkan dengan himpunan B adalah sebagai
berikut.
A\B B
Operasi difference pada SQL Server adalah operasi except (operatornya adalah EXCEPT) merupakan
operasi yang menghasilkan hasil kembalian berupa himpunan yang merupakan data-data dari set pertama
diselisihkan data-data dari himpunan kedua. Contoh berikut mengambil student beserta course yang
diambil hanya tahun 2005 yang bukan dengan student beserta course yang diambil course pada semester
“Fall” semua tahun.
SELECT ta.ID, s.name, s.dept_name, ta.course_id, c.title, ta.semester, ta.year,
ta.grade FROM takes ta
join student s on s.ID=ta.ID
join course c on c.course_id=ta.course_id
WHERE ta.year = 2005
EXCEPT
SELECT ta.ID, s.name, s.dept_name, ta.course_id, c.title, ta.semester, ta.year,
ta.grade FROM takes ta
join student s on s.ID=ta.ID
join course c on c.course_id=ta.course_id
WHERE ta.semester = 'Fall'
Dari sintaksis di atas maka menghasilkan student beserta course pada tahun 2005 namun bukan
yang berada di semester “Fall”.
10.5. Latihan
1. Tampilkan ID, semester, dan course ID yang memiliki ID depan 10, grade-nya A dan tahun ajaran
2002.
2. Tampilkan dept_name yang memiliki salary dari instructor lebih besar dari 54000 dan credit dari
course-nya lebih dari 3.