PERINTAH JOIN MENGGUNAKAN SYNTAX JOIN ANSI/SQL
1.
Equi join : 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 antar dua tabel memakai tanda selain (=)
Contoh:
Select
first_name,salary,jobs.jobs_title,jobs.min_salary,jobs.max_salary from
employees
JOIN departments ON employees.salary between jobs.min_salary and
jobs.max_salary
Order by employees.first_name;
3.
Inner join : Hanya bisa menampilkan data yang
sesuai atau memenuhi kondisi dan jika ada data yang tidak punya pasangan di
tabel lawannya maka tidak akan muncul.
Contoh:
Select
last_name,job_title,job_id from employees
INNER JOIN jobs ON
employees.job_id=jobs.jobs_id;
4.
Outter
Join:
Ø
Left outer
Join :Menampilkan semua data yang berada di tabel sebelah kiri dan hanya
data yang sesuai di tabel kanan dan jika tabel kiri tidak mempunyai lawan di
tabel sebelah kanan maka tabel kanan berisi 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 berada di tabel sebelah kanan dan
hanya data yang sesuai di tabel kiri dan jika tabel kanan tidak mempunyai lawan
di tabel sebelah kiri maka tabel kiri berisi null.
Contoh:
Select first_name,department_name from employees
RIGHT OUTER JOIN departments ON employees. department_id= departments.
department_id;
Ø
Full Join : Gabungan dari keduanya(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;
Ø
Self Join : Join yang dilakukan antar kolom
namun masih dalam satu tabel.
Contoh:
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;