Pada artikel kali ini kita akan membahas query dengan JOIN yang berfungsi untuk menggabungkan dua buah tabel dengan relasi tertentu.
Dalam database relasional, data biasanya disajikan dalam bentuk tabel-tabel yang saling berhubungan. Untuk mendapatkan satu gabungan data tertentu dari beberapa tabel, query bisa dilengkapi dengan yang namanya "JOIN".
Pada SQL Server sendiri terdapat beberapa jenis JOIN yang didukung, diantaranya
- INNER JOIN,
- LEFT JOIN,
- RIGHT JOIN,
- FULL OUTER JOIN
- CROSS JOIN.
Setiap tipe gabungan menentukan bagaimana SQL Server menggunakan data dari satu tabel untuk memilih nilai di baris di tabel lain.
Untuk penjelasan lebih detail kita akan mengunakan contoh 2 tabel yaitu Employee dan Volunteer sebagai berikut:
SQL Server Inner Join
Query "INNER JOIN" akan menampilkan data dengan nilai relasi yang cocok dari tabel kanan maupun kiri. Pada tabel contoh tabel Employee dan Volunteer direlasikan dengan kolom code, jadi hasil INNER JOIN hanya akan menampilkan data dengan nilai code yang ada di kedua table saja.
Jika disajikan dalam diagram ven adalah sebagai berikut:
Berikut ini adalah contoh query INNER JOIN. Pada query join ini kita juga bisa melihat bagaimana tabel alias dan kolom alias berperan penting.
Query:v.code volunteer_code, v.name volunteer_name
FROM [dbo].[Employee] e INNER JOIN
[dbo].[Volunteer] v ON e.code = v.code
SQL Server Left Join
Left join adalah query join yang akan memilih data mulai dari tabel kiri dan baris yang cocok di tabel kanan. Left join akan menampilkan semua baris dari tabel kiri dan hanya baris yang cocok dari tabel kanan. Jika baris di tabel kiri tidak memiliki baris yang cocok di tabel kanan, kolom tabel kanan akan memiliki nilai NULL. Left join juga dikenal sebagai Left outer join. Kata outer dalam query dituliskan secara opsional.
Jika disajikan dalam diagram ven adalah sebagai berikut:
Query:
v.code volunteer_code, v.name volunteer_name
FROM [dbo].[Employee] e LEFT JOIN
[dbo].[Volunteer] v ON e.code = v.code
SQL Server Right Join
Kebalikan dari Left join, Right join adalah query join yang akan memilih data mulai dari tabel kanan dan baris yang cocok di tabel kiri. Right join akan menampilkan semua baris dari tabel kanan dan hanya baris yang cocok dari tabel kiri. Jika baris di tabel kanan tidak memiliki baris yang cocok di tabel kiri, kolom tabel kiri akan memiliki nilai NULL. Right join juga dikenal sebagai Right outer join. Kata outer dalam query dituliskan secara opsional.
Jika disajikan dalam diagram ven adalah sebagai berikut:
Query:
v.code volunteer_code, v.name volunteer_name
FROM [dbo].[Employee] e RIGHT JOIN
[dbo].[Volunteer] v ON e.code = v.code
SQL Server Full Outer Join
Query:
v.code volunteer_code, v.name volunteer_name
FROM [dbo].[Employee] e FULL JOIN
[dbo].[Volunteer] v ON e.code = v.code
SQL Server Cross Join
Tidak seperti tipe Join lainnya, Cross Join tidak membuat hubungan antara tabel yang digabungkan. CROSS JOIN menggabungkan setiap baris dari tabel pertama (kiri) dengan setiap baris dari tabel kedua (kanan). Dengan kata lain, Cross Join membuat kombinasi untuk setiap tabel kiri dan kanan.
Query:
v.code volunteer_code, v.name volunteer_name
0 Comments