Syntax JOIN di SQL: Panduan Lengkap

 

JOIN di SQL digunakan untuk menggabungkan data dari dua atau lebih tabel berdasarkan hubungan di antara tabel-tabel tersebut. JOIN sangat berguna ketika Anda bekerja dengan database yang memiliki struktur relasional, di mana data dibagi ke dalam beberapa tabel.


Jenis-Jenis JOIN di SQL

  1. INNER JOIN
  2. LEFT JOIN (LEFT OUTER JOIN)
  3. RIGHT JOIN (RIGHT OUTER JOIN)
  4. FULL JOIN (FULL OUTER JOIN)
  5. CROSS JOIN
  6. SELF JOIN

1. INNER JOIN

INNER JOIN hanya mengembalikan baris yang memiliki kecocokan di kedua tabel.

Sintaks:

SELECT columns
FROM table1
INNER JOIN table2
ON table1.column = table2.column;

Contoh:

Misalkan Anda memiliki dua tabel: Tabel Customers

CustomerID Name
1 Alice
2 Bob
3 Charlie

Tabel Orders

OrderID CustomerID Product
101 1 Laptop
102 2 Smartphone

Query:

SELECT Customers.Name, Orders.Product
FROM Customers
INNER JOIN Orders
ON Customers.CustomerID = Orders.CustomerID;

Hasil:

Name Product
Alice Laptop
Bob Smartphone

2. LEFT JOIN (LEFT OUTER JOIN)

LEFT JOIN mengembalikan semua baris dari tabel kiri, dan baris yang cocok dari tabel kanan. Jika tidak ada kecocokan, NULL akan ditampilkan.

Sintaks:

SELECT columns
FROM table1
LEFT JOIN table2
ON table1.column = table2.column;

Contoh:

Query:

SELECT Customers.Name, Orders.Product
FROM Customers
LEFT JOIN Orders
ON Customers.CustomerID = Orders.CustomerID;

Hasil:

Name Product
Alice Laptop
Bob Smartphone
Charlie NULL

3. RIGHT JOIN (RIGHT OUTER JOIN)

RIGHT JOIN mirip dengan LEFT JOIN, tetapi mengembalikan semua baris dari tabel kanan dan kecocokan dari tabel kiri.

Sintaks:

SELECT columns
FROM table1
RIGHT JOIN table2
ON table1.column = table2.column;

Contoh:

Query:

SELECT Customers.Name, Orders.Product
FROM Customers
RIGHT JOIN Orders
ON Customers.CustomerID = Orders.CustomerID;

Hasil:

Name Product
Alice Laptop
Bob Smartphone

4. FULL JOIN (FULL OUTER JOIN)

FULL JOIN mengembalikan semua baris dari kedua tabel, dengan kecocokan dan tanpa kecocokan. Jika tidak ada kecocokan, NULL akan ditampilkan.

Sintaks:

SELECT columns
FROM table1
FULL JOIN table2
ON table1.column = table2.column;

Contoh:

Query:

SELECT Customers.Name, Orders.Product
FROM Customers
FULL JOIN Orders
ON Customers.CustomerID = Orders.CustomerID;

Hasil:

Name Product
Alice Laptop
Bob Smartphone
Charlie NULL

5. CROSS JOIN

CROSS JOIN menghasilkan produk kartesian, di mana setiap baris dari tabel pertama digabungkan dengan setiap baris dari tabel kedua.

Sintaks:

SELECT columns
FROM table1
CROSS JOIN table2;

Contoh:

Query:

SELECT Customers.Name, Orders.Product
FROM Customers
CROSS JOIN Orders;

Hasil:

Name Product
Alice Laptop
Alice Smartphone
Bob Laptop
Bob Smartphone
Charlie Laptop
Charlie Smartphone

6. SELF JOIN

SELF JOIN adalah JOIN pada tabel yang sama. Biasanya digunakan untuk membandingkan baris dalam tabel tersebut.

Sintaks:

SELECT a.column1, b.column2
FROM table_name a, table_name b
WHERE condition;

Contoh:

Misalkan Anda memiliki tabel Employees:

EmployeeID Name ManagerID
1 Alice NULL
2 Bob 1
3 Charlie 1

Query:

SELECT e1.Name AS Employee, e2.Name AS Manager
FROM Employees e1
LEFT JOIN Employees e2
ON e1.ManagerID = e2.EmployeeID;

Hasil:

Employee Manager
Alice NULL
Bob Alice
Charlie Alice

Tabel Perbandingan JOIN

JOIN Type Data yang Dikembalikan
INNER JOIN Baris dengan kecocokan di kedua tabel.
LEFT JOIN Semua baris dari tabel kiri, dengan kecocokan di tabel kanan.
RIGHT JOIN Semua baris dari tabel kanan, dengan kecocokan di tabel kiri.
FULL JOIN Semua baris dari kedua tabel, dengan kecocokan dan tanpa kecocokan.
CROSS JOIN Produk kartesian dari kedua tabel.
SELF JOIN Perbandingan baris dalam tabel yang sama.

Tips Menggunakan JOIN di SQL

  1. Gunakan Alias: Alias membantu membuat query lebih mudah dibaca.

    SELECT c.Name, o.Product
    FROM Customers c
    INNER JOIN Orders o
    ON c.CustomerID = o.CustomerID;
    
  2. Optimalkan Index: Pastikan kolom yang digunakan dalam JOIN memiliki indeks untuk meningkatkan kinerja query.

  3. Gunakan FILTER: Tambahkan klausa WHERE untuk membatasi hasil JOIN.


Dengan pemahaman JOIN ini, Anda dapat mengelola data dalam database secara efisien dan fleksibel. Jika Anda memerlukan contoh yang lebih kompleks,

Komentar

Postingan populer dari blog ini

Koneksi VB - My SQL tanpa ODBC

Membuat Game Pukul Bola Sederhana dengan Visual Basic

Visual Basic 6.0: Pengantar, Fitur, dan Kelebihannya