Fungsi Join Pada SQL Oracle

Setelah sebelumnya saya membahas tentang Group Function kali ini saya akan membahas tentang fungsi Join pada SQL Oracle.

Join adalah cara untuk menghubungkan data yang diambil dari tabel-tabel melalui sebuah kolom yang menghubungkan dua tabel tersebut. Keuntungannya adalah kita hanya perlu mengetikkan satu query saja. Pada Oracle ada beberapa fungsi Join diantaranya adalah :
- Natural Joins
- Using Clause
- On Clause
- Full ( two-sided) outer joins


Natural Joins
Natural Joins digunakan untuk menampilkan fungsi join secara natural. Ada beberapa ketentuannya yakni nama harus sama, value harus sama dan tipe data harus sama.
select department_id,department_name,location_id as Lokasi,city from departments natural join locations




Using Clause
Using Clause digunakan untuk memodifikasi fungsi natural join jika terdapat kolom yang memiliki nama yang sama tetapi memiliki tipe data yang berbeda.
select employees.employee_id,employees.last_name,departments.location_id,department_id from employees join departments using (department_id)



On Clause
On Clause digunakan untuk menentukan kolom yang memiliki spesifikasi tertentu yang akan digunakan untuk fungsi join.
select e.last_name,e.salary,j.job_title from employees e join jobs j on e.salary between j.min_salary and j.max_salary



select employee_id, d.location_id,city,e.department_id, department_name from employees e 
join departments d on d.department_id=e.department_id
join locations l on d.location_id=l.location_id



Left Join
Left Join akan menampilkan seluruh baris dari tabel disebelah kiri yang ada pada kondisi ON dan hanya baris dari tabel disebelah kanan yang memenuhi kondisi join.
select e.last_name,e.department_id,d.department_name from employees e left outer join departments d on (e.department_id = d.department_id) where last_name='Grant';



Right Join
Right Join akan menampilkan seluruh baris dari tabel disebelah kanan yang ada pada kondisi ON dan hanya baris dari tabel disebelah kiri yang memenuhi kondisi join.
select e.last_name,e.department_id,d.department_name from employees e right outer join departments d on (e.department_id = d.department_id) where e.last_name is null;




Full Outer Join
Full Outer Join akan menampilkan seluruh baris dari kedua tabel yang dikenai ON termasuk data-data yang bernilai NULL.
select e.last_name,e.department_id,d.department_name from employees e full outer join departments d on (e.department_id = d.department_id) where e.last_name is null or e.department_id is null;












Comments

Popular posts from this blog

Manipulation Data pada oracle

Group Function Pada Oracle