Kita sudah pernah membahas query SQL JOIN untuk menghubungkan 2 tabel dengan relasi tertentu. Relasi data yang cocok akan perpotongan jika disajikan dalam diagram Venn. Lalu bagaimanakah caranya jika kita ingin data yang cocok (perpotongan data) tidak ikut ditampilkan dalam hasil Query? Dengan kata lain disini kita justru ingin membuang/menghapus data yang memiliki relasi cocok antar tabel.
Kita masih akan menggunakan sample tabel sebelumnya untuk penjelasan lebih detail yaitu tabel Employee dan Volunteer sebagai berikut:
1. Kita ingin menampilkan semua data dari tabel kiri tapi tidak mengikutsertakan data yang cocok dan ada di tabel kanan.
v.code volunteer_code, v.name volunteer_name
FROM [dbo].[Employee] e LEFT JOIN
[dbo].[Volunteer] v ON e.code = v.code
WHERE v.code IS NULL
2. Kita ingin menampilkan semua data dari tabel kanan tapi tidak mengikutsertakan data yang cocok dan ada di tabel kiri.
SELECT e.code employee_code, e.name employee_name,
v.code volunteer_code, v.name volunteer_name
FROM [dbo].[Employee] e RIGHT JOIN
[dbo].[Volunteer] v ON e.code = v.code
WHERE e.code IS NULL
3. Kita ingin menampilkan semua data dari tabel kiri dan kanan tapi tidak mengikutsertakan data yang cocok (berelasi) diantara keduanya.
v.code volunteer_code, v.name volunteer_name
FROM [dbo].[Employee] e FULL JOIN
[dbo].[Volunteer] v ON e.code = v.code
WHERE e.code IS NULL OR v.code IS NULL
Jadi begitulah caranya mengeluarkan hasil relasi join yang cocok dari list hasil query.
0 Comments