0% menganggap dokumen ini bermanfaat (0 suara)
204 tayangan5 halaman

Modul 10 Union, Intersection, Difference

Modul ini membahas operasi union, intersection, dan difference pada basis data. Operasi union menggabungkan semua anggota dari dua himpunan, intersection mengambil anggota yang sama di kedua himpunan, sedangkan difference mengambil anggota himpunan pertama yang tidak termasuk di himpunan kedua. Modul ini juga mendemonstrasikan penggunaan operasi-operasi tersebut dalam query SQL.

Diunggah oleh

Nurul Inayah
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
204 tayangan5 halaman

Modul 10 Union, Intersection, Difference

Modul ini membahas operasi union, intersection, dan difference pada basis data. Operasi union menggabungkan semua anggota dari dua himpunan, intersection mengambil anggota yang sama di kedua himpunan, sedangkan difference mengambil anggota himpunan pertama yang tidak termasuk di himpunan kedua. Modul ini juga mendemonstrasikan penggunaan operasi-operasi tersebut dalam query SQL.

Diunggah oleh

Nurul Inayah
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 5

Modul 10 : Union, Intersection, Difference

10.1. Waktu Pelaksanaan Praktikum


Durasi kegiatan praktikum = 170 menit, dengan rincian sebagai berikut (misalkan):
1. 10 menit untuk penjelasan singkat tentang modul
2. 100 menit untuk pengayaan
3. 60 menit pembahasan

10.2. Tujuan
Setelah mengikuti praktikum ini mahasiswa diharapkan dapat:
1. Memahami operasi union
2. Memahami operasi intersection
3. Memahami operasi difference

10.3. Alat Dan Bahan


1. Komputer

10.4. Dasar Teori


10.4.1. Operasi Union
Operasi union atau gabungan dari himpunan A dan B dalam teori himpunan adalah gabungan
semua anggota A atau semua anggota B atau keduanya. Ilustrasi himpunan A yang digabungkan dengan
himpunan B adalah sebagai berikut.

A B

Gambar 10.1. Ilustrasi operasi union 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

SELECT building,room_number FROM dbo.section WHERE room_number like '7%'

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

WHERE ID = 10033 and course_id between 300 and 410

UNION

SELECT ID, course_id, semester FROM takes

WHERE ID = 10454 and course_id between 450 and 500

10.4.1.2. UNION ALL


Serupa dengan union, operator UNION ALL juga menggabungkan dua himpunan data, namun
UNION ALL akan menampilkan seluruh himpunan data yang digabung walaupun hal itu menyebabkan
duplikasi data.
Contoh operasi UNION ALL adalah sebagai berikut.
SELECT ID, course_id, semester FROM takes
WHERE ID = 10033
UNION ALL
SELECT ID, course_id, semester FROM takes
WHERE ID = 10454
Dari sintaksis tersebut akan ditampilkan seluruh ID, course_ID, semester yang dari student ID 10033
dan 10454 tanpa memperhatikan duplikasi data.
Contoh di atas menghasilkan student 10033 yang memiliki duplikasi data pada course_id 338, 408
dan student 10454 yang memiliki duplikasi data pada course_id 468.

10.4.2. Operasi Intersection


Operasi intersection atau irisan dari himpunan A dan B dalam teori himpunan adalah semua
anggota A yang juga anggota B (atau kebalikannya). Ilustrasi himpunan A yang diiriskan dengan himpunan B
adalah sebagai berikut.

A A∩B B

Gambar 10.2. Ilustrasi operasi intersection A ∩ 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

Gambar 10.3. Ilustrasi operasi difference A \ 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.4.4. Operasi Gabungan Dari UNION, INTERSECTION, dan DIFFERENCE


Untuk menyelesaikan kasus tertentu, kita dapat menggabungkan operasi UNION, INTERSECT, maupun
EXCEPT. Contoh berikut adalah query untuk mengambil student yang mengambil course pada year 2003 dan
2005 tapi bukan semester Fall.
SELECT * FROM takes ta
JOIN student s ON s.ID=ta.ID
WHERE s.dept_name = 'Accounting' and year = 2003
union
SELECT * FROM takes ta
JOIN student s ON s.ID=ta.ID
WHERE s.dept_name = 'Accounting' and year = 2005
except
SELECT * FROM takes ta
JOIN student s ON s.ID=ta.ID
WHERE s.dept_name = 'Accounting' and semester = 'Fall'
Query di atas bisa saja dioptimasikan dengan cara lain ekuivalensinya tanpa menggunakan operasi
union, except, tapi adakalanya suatu query nanti tidak punya query yang ekuivalen.

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.

Anda mungkin juga menyukai