🧚 Dengar! Beekeeper Studio adalah GUI database yang cepat, modern, dan open source Unduh
19 Mei 2025 Oleh Matthew Rathbone

Menggabungkan tabel adalah salah satu konsep terpenting di SQL Server, yang memungkinkan Anda menggabungkan data dari beberapa tabel untuk membuat laporan dan analisis yang bermakna. Baik Anda sedang membangun laporan yang kompleks maupun melakukan analisis data, memahami cara kerja join adalah hal wajib bagi setiap developer SQL.

Dalam panduan lengkap ini, kita akan membahas setiap jenis join di SQL Server dengan contoh praktis, penjelasan yang jelas, dan skenario dunia nyata.

🔖 Referensi Cepat: Butuh contekan cepat? Lihat SQL JOIN Cheat Sheet kami yang berisi semua jenis JOIN, diagram visual, dan contoh kode di satu tempat.

Memahami Join di SQL Server

Join di SQL Server adalah operasi yang menggabungkan baris dari dua tabel atau lebih berdasarkan kolom yang saling terkait. Jenis join yang paling umum adalah:

  • INNER JOIN: Hanya mengembalikan record yang cocok di kedua tabel
  • LEFT JOIN: Mengembalikan semua record dari tabel kiri, ditambah record yang cocok dari tabel kanan
  • RIGHT JOIN: Mengembalikan semua record dari tabel kanan, ditambah record yang cocok dari tabel kiri
  • FULL OUTER JOIN: Mengembalikan semua record jika ada kecocokan di salah satu tabel

Menyiapkan Data Contoh

Untuk contoh-contoh kita, kita akan menggunakan dua tabel sederhana yang mewakili skenario bisnis umum:

Tabel Orders:

CREATE TABLE Orders (
    OrderID INT PRIMARY KEY,
    CustomerID INT,
    Product NVARCHAR(50),
    OrderDate DATE
);

INSERT INTO Orders VALUES 
(1, 1, 'Laptop', '2024-01-15'),
(2, 2, 'Mouse', '2024-01-16'),
(3, 3, 'Keyboard', '2024-01-17');
OrderID CustomerID Product OrderDate
1 1 Laptop 2024-01-15
2 2 Mouse 2024-01-16
3 3 Keyboard 2024-01-17

Tabel Customers:

CREATE TABLE Customers (
    CustomerID INT PRIMARY KEY,
    Name NVARCHAR(50),
    City NVARCHAR(50)
);

INSERT INTO Customers VALUES 
(1, 'John Doe', 'New York'),
(2, 'Jane Smith', 'Los Angeles'),
(4, 'Alex Johnson', 'Chicago');
CustomerID Name City
1 John Doe New York
2 Jane Smith Los Angeles
4 Alex Johnson Chicago

INNER JOIN

INNER JOIN hanya mengembalikan baris yang memiliki nilai yang cocok di kedua tabel. Ini adalah jenis join yang paling sering digunakan dan sangat pas jika Anda hanya ingin melihat record yang ada di kedua tabel.

Kapan Menggunakan INNER JOIN

  • Saat Anda membutuhkan data yang ada di kedua tabel
  • Untuk laporan yang menampilkan relasi lengkap
  • Saat Anda ingin mengecualikan record yang tidak lengkap

Contoh Query SQL

SELECT 
    o.OrderID,
    c.Name,
    c.City,
    o.Product,
    o.OrderDate
FROM Orders o
INNER JOIN Customers c ON o.CustomerID = c.CustomerID;

Hasil

OrderID Name City Product OrderDate
1 John Doe New York Laptop 2024-01-15
2 Jane Smith Los Angeles Mouse 2024-01-16

Poin Penting:

  • Hanya 2 baris yang dikembalikan (OrderID 3 dikecualikan karena CustomerID 3 tidak ada di tabel Customers)
  • Hanya pelanggan yang pernah memesan yang muncul di hasil
  • Kondisi join (o.CustomerID = c.CustomerID) menentukan baris mana yang cocok

LEFT JOIN

LEFT JOIN (disebut juga LEFT OUTER JOIN) mengembalikan semua baris dari tabel kiri, ditambah baris yang cocok dari tabel kanan. Jika tidak ada kecocokan, kolom dari tabel kanan akan berisi nilai NULL.

Kapan Menggunakan LEFT JOIN

  • Saat Anda membutuhkan semua record dari tabel utama (tabel kiri)
  • Untuk laporan yang menampilkan celah data atau relasi yang hilang
  • Saat Anda ingin menemukan record yang tidak memiliki pasangan

Contoh Query SQL

SELECT 
    o.OrderID,
    c.Name,
    c.City,
    o.Product,
    o.OrderDate
FROM Orders o
LEFT JOIN Customers c ON o.CustomerID = c.CustomerID;

Hasil

OrderID Name City Product OrderDate
1 John Doe New York Laptop 2024-01-15
2 Jane Smith Los Angeles Mouse 2024-01-16
3 NULL NULL Keyboard 2024-01-17

Poin Penting:

  • Semua 3 pesanan muncul di hasil (semua data tabel kiri dipertahankan)
  • OrderID 3 menampilkan NULL untuk informasi pelanggan karena CustomerID 3 tidak ada di tabel Customers
  • Berguna untuk mengidentifikasi pesanan tanpa data pelanggan yang valid

RIGHT JOIN

RIGHT JOIN (disebut juga RIGHT OUTER JOIN) mengembalikan semua baris dari tabel kanan, ditambah baris yang cocok dari tabel kiri. Jika tidak ada kecocokan, kolom dari tabel kiri akan berisi nilai NULL.

Kapan Menggunakan RIGHT JOIN

  • Saat Anda membutuhkan semua record dari tabel kanan
  • Lebih jarang dipakai dibanding LEFT JOIN (biasanya bisa ditulis ulang sebagai LEFT JOIN)
  • Berguna saat data “utama” ada di tabel kedua

Contoh Query SQL

SELECT 
    o.OrderID,
    c.Name,
    c.City,
    o.Product,
    o.OrderDate
FROM Orders o
RIGHT JOIN Customers c ON o.CustomerID = c.CustomerID;

Hasil

OrderID Name City Product OrderDate
1 John Doe New York Laptop 2024-01-15
2 Jane Smith Los Angeles Mouse 2024-01-16
NULL Alex Johnson Chicago NULL NULL

Poin Penting:

  • Semua 3 pelanggan muncul di hasil (semua data tabel kanan dipertahankan)
  • Alex Johnson menampilkan NULL untuk informasi pesanan karena ia belum pernah memesan
  • Berguna untuk mengidentifikasi pelanggan yang belum pernah membeli

FULL OUTER JOIN

FULL OUTER JOIN (atau cukup FULL JOIN) mengembalikan semua baris jika ada kecocokan di salah satu tabel. Join ini menggabungkan hasil LEFT dan RIGHT join, dengan menampilkan nilai NULL di sisi mana pun yang tidak memiliki kecocokan.

Kapan Menggunakan FULL OUTER JOIN

  • Saat Anda membutuhkan semua record dari kedua tabel
  • Untuk analisis data yang menyeluruh
  • Saat mengidentifikasi semua relasi dan celah antar tabel

Contoh Query SQL

SELECT 
    o.OrderID,
    c.Name,
    c.City,
    o.Product,
    o.OrderDate
FROM Orders o
FULL OUTER JOIN Customers c ON o.CustomerID = c.CustomerID;

Hasil

OrderID Name City Product OrderDate
1 John Doe New York Laptop 2024-01-15
2 Jane Smith Los Angeles Mouse 2024-01-16
3 NULL NULL Keyboard 2024-01-17
NULL Alex Johnson Chicago NULL NULL

Poin Penting:

  • Semua 4 kemungkinan baris muncul di hasil
  • Menampilkan pesanan tanpa pelanggan (OrderID 3) sekaligus pelanggan tanpa pesanan (Alex Johnson)
  • Menggabungkan sudut pandang menyeluruh dari LEFT dan RIGHT join
  • Gambaran paling lengkap tentang relasi antar tabel

Poin-Poin Penting

Memahami join di SQL Server sangat penting agar query database Anda efektif. Berikut referensi singkatnya:

Jenis Join Mengembalikan Kasus Penggunaan
INNER JOIN Hanya record yang cocok Paling umum; saat Anda membutuhkan relasi lengkap
LEFT JOIN Semua kiri + kanan yang cocok Saat tabel kiri adalah tabel utama; mencari data kanan yang hilang
RIGHT JOIN Semua kanan + kiri yang cocok Lebih jarang; saat tabel kanan adalah tabel utama
FULL OUTER JOIN Semua record dari keduanya Analisis lengkap; mencari semua relasi dan celah

Praktik Terbaik

  1. Gunakan alias tabel (o untuk Orders, c untuk Customers) agar query lebih rapi
  2. Mulailah dengan INNER JOIN jika Anda ragu, lalu sesuaikan dengan kebutuhan
  3. Gunakan LEFT JOIN lebih sering daripada RIGHT JOIN agar lebih mudah dibaca
  4. Selalu tentukan kondisi join dengan klausa ON
  5. Perhatikan performa - join pada kolom yang diindeks lebih cepat

Tips Berlatih

Untuk menguasai join di SQL Server:

  1. Mulailah dengan dataset kecil seperti contoh di atas
  2. Gambar diagram Venn untuk memvisualisasikan hasil setiap join
  3. Bereksperimenlah dengan berbagai struktur tabel dan relasi
  4. Gunakan SQL Server Management Studio atau Beekeeper Studio untuk berlatih
  5. Uji kasus-kasus khusus seperti nilai NULL dan relasi yang hilang

Ingat: join adalah dasar dari database relasional. Setelah menguasainya, Anda akan mampu membuat query andal yang menggali insight bermakna dari data Anda.

Beekeeper Studio Adalah GUI Database Gratis & Open Source

Tool query & editor SQL terbaik yang pernah saya pakai. Semua yang saya butuhkan untuk mengelola database ada di sini. - ⭐⭐⭐⭐⭐ Mit

Beekeeper Studio cepat, intuitif, dan mudah digunakan. Beekeeper mendukung banyak sekali database, dan berjalan mulus di Windows, Mac, dan Linux.

Versi Linux Beekeeper punya fitur 100% lengkap, tanpa potong kompas, tanpa kompromi fitur.

Apa Kata Pengguna tentang Beekeeper Studio

★★★★★
"Beekeeper Studio benar-benar menggantikan alur kerja SQL lama saya. Cepat, intuitif, dan membuat kerja dengan database kembali menyenangkan."
— Alex K., Database Developer
★★★★★
"Saya sudah mencoba banyak GUI database, tapi Beekeeper punya keseimbangan sempurna antara fitur dan kesederhanaan. Langsung jalan."
— Sarah M., Full Stack Engineer

Siap Meningkatkan Alur Kerja SQL Anda?

download Unduh Gratis