Perintah Join Menggunakan Syntax Join ANSI/SQL
JOIN adalah kata kunci yang digunakan dalam pernyataan SQL untuk
melakukan query data dari dua atau lebih tabel, yang didasarkan pada hubungan
antara kolom-kolom tertentu dalam tabel.
1. INNER JOIN
Hanya akan menampilkan baris
untuk data yang memiliki nilai yang sama pada field kunci dengan tabel yang
berelasi.
Sintax dari SQL INNER JOIN :
SELECT column_name(s)
FROM table_name1
INNER JOIN table_name2
ON
table_name1.column_name=table_name2.column_name
Catatan :
INNER JOIN sama dengan JOIN.
2. LEFT JOIN
Menampilkan
data dengan mengacu pada tabel yang ada disebelah kiri.
Sintax
dari SQL LEFT JOIN :
SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2
ON
table_name1.column_name=table_name2.column_name
Catatan : dalam
beberapa database LEFT JOIN disebut juga dengan LEFT OUTER JOIN.
3. RIGHT JOIN
Menampilkan
data dengan mengacu pada tabel yang ada disebelah kanan.
Sintax
dari SQL RIGHT JOIN :
SELECT column_name(s)
FROM table_name1
RIGHT JOIN table_name2
ON
table_name1.column_name=table_name2.column_name
Catatan :
dalam beberapa database RIGHT JOIN disebut juga dengan RIGHT OUTER JOIN.
4. FULL JOIN
Merupakan gabungan dari LEFT JOIN dan RIGHT JOIN.
Sintax dari SQL FULL JOIN :
SELECT column_name(s)
FROM
table_name1
FULL JOIN
table_name2
ON
table_name1.column_name=table_name2.column_name
5. CROSS JOIN
CROSS JOIN
identik dengan INNER JOIN pada MySQL 5.0. Pembahasannya sama dengan INNER JOIN
sehingga tidak diulangi lagi disini.
Sintax dari
SQL CROSS JOIN :
SELECT ms_cabang.nama_cabang,
ms_kota.nama_kota,
ms_propinsi.nama_propinsi
FROM
ms_kota.nama_kota,
ms_propinsi.nama_propinsi
FROM
ms_cabang
CROSS JOIN
CROSS JOIN
ms_kota ON
ms_cabang.kode_kota = ms_kota.kode_kota
CROSS JOIN
CROSS JOIN
ms_propinsi ON ms_kota.kode_propinsi
= ms_propinsi.kode_propinsi
6. EQUI JOIN
EQUI JOIN adalah jenis tertentu dari komparator berbasis
join,
yang hanya menggunakan perbandingan kesetaraan dalam
predikat join.
Menggunakan operator perbandingan lainnya (seperti <)
mendiskualifikasi
bergabung sebagai equi-join.
Permintaan yang ditampilkan di atas telah memberikan contoh
dari EQUI JOIN :
SELECT
*
FROM
employee
JOIN
department ON employee.DepartmentID = department.DepartmentID;
EQUI JOIN bisa ditulis sebagai berikut :
SELECT * FROM employee, department WHERE
employee.DepartmentID = department.DepartmentID;
7 7. NATURAL JOIN
NATURAL JOIN adalah jenis equi-join mana predikat bergabung
timbul implisit dengan membandingkan semua kolom di kedua tabel yang memiliki
kolom yang sama-nama dalam tabel bergabung. Tabel bergabung dihasilkan hanya
berisi satu kolom untuk setiap pasangan kolom sama bernama.
Permintaan
contoh di atas untuk inner joins dapat dinyatakan sebagai natural join dengan
cara berikut:
SELECT *
FROM employee
NATURAL JOIN department;

















