INNER JOIN
Jenis join yang
paling umum yang dapat digunakan pada semua database. Jenis ini dapat digunakan
bila ingin merelasikan dua set data yang ada di tabel, letak relasinya setelah
pada perintah ON pada join.
Contah
sintaksnya sbb :
Select
last_name, job_title, job_id
From employees
INNER JOIN jobs
ON employees.job_id=jobs.jobs_id;
EQUI-JOIN
Digunakan untuk
menggabungkan dua tabel, suatu tabel sumber dan anggota, yang mempunyai nilai
dari satu kolom atau lebih. Untuk record tabel sumber yang sesuai dengan tabel
anggota, akan dimasukkan dalam hasil. Jika tidak ada kecocokan, data tersebut
tidak dimunculkan dalam hasil.
Contoh sintaks :
Select employee_id, department_id, department_name
From employees
JOIN departments ON
employees.department_id=departments.department_id;
Select employee_id, department_id, department_name
From employees
JOIN departments ON
employees.department_id=departments.department_id;
NATURAL JOIN
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.
Contoh sintaks :
SELECT *
FROM employees
NATURAL JOIN department;
SELECT *
FROM employees
NATURAL JOIN department;
SELF JOIN
Join yang
dilakukan antar kolom dalam satu tabel.
Contoh sintaks :
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;
Contoh sintaks :
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;
LEFT OUTER
JOIN
Menampilkan
semua data yang ada di tabel kiri dan hanya data yang bersesuaian di tabel
kanan, jika tabel kiri tidak mempunyai lawan di tabel kanan maka tab el kanan
akan diisi dengan null.
Contoh
sintaks :
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 sintaks :
Select
first_name, department_name
From employees
RIGHT OUTER JOIN
departments ON employees.department_id=departments.department_id;
CROSS JOIN
Mengembalikan produk Cartesian dari baris dari tabel dalam bergabung. Dengan kata lain, hal itu akan menghasilkan baris yang menggabungkan setiap baris dari tabel pertama dengan setiap baris dari tabel kedua.
Contoh eksplisit
cross join:
SELECT *
FROM employee
CROSS JOIN
department;
FULL JOIN
Gabungan dari left outer join dan right outer join.
Gabungan dari left outer join dan right outer join.
Contoh :
Select
first_name, department_name
From employees
FULL OUTER JOIN
departments ON employees.department_id=departments.department_id;