JOIN adalah kata kunci yang biasa
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
Inner
join adalah operasi bergabung paling umum yang biasa digunakan dalam aplikasi
dan dapat dianggap sebagai default join-type. 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 ms_propinsi ON ms_kota.kode_propinsi = ms_propinsi.kode_propinsi
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. 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;
0 komentar:
Posting Komentar