1. Equi Joi
merupakan Join yang menggunakan tanda equal (=) untuk membandingkan Operatornya.
Contoh :
Select employee_id, department_id, department_name
From employees
JOIN departments ON
employees.department_id=departments.department_id;
2. Non Equi Join
Join antara dua tabel menggunakan tanda selain = seperti <,>,between dan tanda
penghubung lain.
Contoh :
Select first_name, salary, jobs.jobs_title, jobs.min_salary,
jobs.max_salary
From employees
JOIN ON jobs ON employees.salary between jobs.min_salary
and jobs.max_salary
Order by employees.first_name;
Kondisi join dan jenis join Berdasarkan Data yang dihasilkan :
1. INNER JOIN
Penggabungan tabel dalam perintah SQL menggunakan keyword JOIN.Jenis penggabungan tabel yang pertama adalah INNER JOIN. INNER JOIN hanya menampilkan data yang benar-benar terdapat di dalam tabel yang saling dihubungkan.
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
Misalkan pada contoh diatas digunakan perintah LEFT JOIN maka apabila tabel name disebutkan terlebih dahulu SQL Server akan menampilkan semua name yang terdapat di table tersebut.
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
Jenis join terakhir adalah FULL JOIN yang menampilkan semua data dari dua tabel yang dihubungkan meskipun terdapat perintah berikut :
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.SELF JOIN
Join yang dilakukan antar kolom dalam satu tabel.
Syntax dari SELF JOIN :
Select pegawai.first_name as pegawai, manager.first_name as manager
From employees pegawai
INNER JOIN employees manager ON pegawai.manager_id=manager.employee.id;
6.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_cabang
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
7.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;
8. OUTER JOIN
- Left Outer Join : Menampilkan semua data yang ada di tabel kiri dan hanya data yangbersesuaian di tabel kanan, jika tabel kiri tidak mempunyai lawan di tabel kanan maka tab el kanan akan diisi dengan null.
Contoh :
Select first_name, department_name
From employees
LEFT OUTER JOIN departments ON employees.department_id=departments.department_id;
- Right Outer Join : Menampilkan semua data yang ada di tabel kanan dan hanya data yang bersesuaian di tabel kiri, jika tabel kanan tidak mempunyai lawan di tabel kiri maka tabel kiri akan diisi dengan null.
Contoh :
Select first_name, department_name
From employees
RIGHT OUTER JOIN departments ON employees.department_id=departments.department_id;
9.NATURAL JOIN
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;
Tidak ada komentar:
Posting Komentar
Kode yang panjang bisa menggunakan tag <i rel="pre">KODE PANJANG ANDA</i>
Untuk menyisipkan gambar, gunakan tag <i rel="image">URL GAMBAR</i>
Untuk menyisipkan judul, gunakan tag <b rel="h3">JUDUL ANDA DI SINI...</b>
Untuk menciptakan efek tebal gunakan tag <b>TEKS ANDA DI SINI...</b>
Untuk menciptakan efek huruf miring gunakan tag <i>TEKS ANDA DI SINI...</i>