Created (c) by Princexells Seyka (Princelling Saki)

Minggu, 28 April 2013

PERINTAH JOIN MENGGUNAKAN SYNTAX JOIN ANSI / SQL



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

Untuk menyisipkan kode, gunakan tag <i rel="code">KODE ANDA</i>
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>

Lagi Perbaikan Blog
Back to Top