Kamis, 13 Desember 2012

Perintah join menggunakan Syntax Join ANSI/SQL


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;