JOIN di SQL Server: Tipe dan Contoh
⚡ Ringkasan Cerdas
Perintah JOIN di SQL Server menggabungkan baris dari dua tabel atau lebih berdasarkan kolom yang terkait, menggunakan INNER, LEFT OUTER, RIGHT OUTER, dan FULL OUTER join untuk mengontrol baris mana yang cocok dan tidak cocok yang muncul dalam hasilnya.

Apa itu Join di SQL Server?
Data dapat diambil dari lebih dari satu tabel menggunakan pernyataan JOIN di SQL Server. JOIN menggabungkan baris dari dua atau lebih tabel berdasarkan kolom yang terkait di antara keduanya, paling sering sebuah kunci utama dicocokkan dengan kunci asingTerdapat empat jenis utama perintah JOIN di SQL Server:
- INNER JOIN / simple join
- SAMBUNGAN LUAR KIRI / SAMBUNGAN KIRI
- GABUNGAN LUAR KANAN / GABUNGAN KANAN
- GABUNG LUAR LENGKAP
Tabel di bawah ini merangkum baris mana yang dikembalikan oleh setiap tipe JOIN:
| JOIN tipe | Baris yang dikembalikan |
| INNER JOIN | Hanya baris yang kondisi penggabungannya cocok di kedua tabel. |
| KIRI LUAR GABUNG | Semua baris dari tabel kiri, ditambah baris yang cocok dari tabel kanan (NULL jika tidak ada yang cocok). |
| JOIN LUAR KANAN | Semua baris dari tabel kanan, ditambah baris yang cocok dari tabel kiri (NULL jika tidak ada yang cocok). |
| GABUNG LUAR LENGKAP | Semua baris dari kedua tabel, dengan nilai NULL di mana pun kondisi tidak terpenuhi. |
Contoh-contoh di bawah ini menggunakan dua tabel, Mahasiswa dan Biaya, digabungkan pada kolom penerimaan umum mereka. Setiap bagian menjelaskan satu tipe JOIN dengan sintaksnya, kueri yang telah dikerjakan, dan hasilnya.
INNER JOIN
Jenis SQL Server Perintah JOIN mengembalikan baris dari semua tabel yang memenuhi kondisi gabungan. Sintaksnya adalah sebagai berikut:
SELECT columns FROM table_1 INNER JOIN table_2 ON table_1.column = table_2.column;
Kita akan menggunakan dua tabel berikut untuk mendemonstrasikan hal ini. Tabel Mahasiswa di bawah ini mencantumkan setiap mahasiswa dan nomor penerimaannya:
Tabel biaya di bawah ini mencatat jumlah yang telah dibayarkan oleh setiap nomor pendaftaran:
Perintah berikut mendemonstrasikan INNER JOIN di SQL Server dengan sebuah contoh:
SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid FROM Students INNER JOIN Fee ON Students.admission = Fee.admission
Perintah tersebut mengembalikan hasil berikut, yang hanya menampilkan nomor penerimaan yang ada di kedua tabel:
Kita dapat mengetahui siswa mana yang telah membayar biaya mereka. Kami menggunakan kolom dengan nilai yang sama di kedua tabel, yaitu kolom penerimaan.
KIRI LUAR GABUNG
Jenis penggabungan ini mengembalikan semua baris dari tabel sebelah kiri ditambah catatan di tabel sebelah kanan dengan nilai yang cocok. Misalnya:
SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid FROM Students LEFT OUTER JOIN Fee ON Students.admission = Fee.admission
Kode tersebut mengembalikan hasil berikut, keeping setiap siswa, bahkan ketika tidak ada catatan biaya yang cocok:
Catatan tanpa nilai yang cocok diganti dengan NULL di kolom masing-masing.
JOIN LUAR KANAN
Jenis gabungan ini mengembalikan semua baris dari tabel sebelah kanan dan hanya baris-baris yang memiliki nilai yang cocok di tabel sebelah kiri. Misalnya:
SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid FROM Students RIGHT OUTER JOIN Fee ON Students.admission = Fee.admission
Pernyataan untuk OUTER JOIN di SQL Server mengembalikan hasil berikut:
Alasan keluaran di atas adalah semua baris pada tabel Biaya tersedia di tabel Siswa ketika dicocokkan pada kolom penerimaan.
GABUNG LUAR LENGKAP
Jenis penggabungan ini mengembalikan semua baris dari kedua tabel, dengan nilai NULL di mana pun kondisi JOIN tidak benar. Misalnya:
SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid FROM Students FULL OUTER JOIN Fee ON Students.admission = Fee.admission
Kode tersebut mengembalikan hasil berikut untuk kueri FULL OUTER JOIN dalam SQL, menggabungkan setiap baris dari kedua tabel:






