Tugas 6

20 December 2012 16:00:06 Dibaca : 238 Kategori : 921411010 Tugas 6

SYNTAX UNTUK MERELASIKAN TABEL MYSQL

DEFINISI JOIN

Join adalah penggabungan table yang dilakukan melalui kolom / key tertentu yang memiliki nilai terkait untuk mendapatkan satu set data dengan informasi lengkap. Lengkap disini artinya kolom data didapatkan dari kolom-kolom hasil join antar table tersebut.

Join diperlukan karena perancangan table pada sistem transaksional kebanyakan di-normalisasi, salah satu alasannya untuk menghindari redundansi.

1. INNER JOIN

INNER JOIN adalah tipe join yang akan kita bahas pertama. Tipe join ini akan mengambil semua row dari table asal dan table tujuan dengan kondisi nilai key yang terkait saja - jika ada, dan jika tidak maka row tersebut tidak akan muncul.

Kalau tidak terdapat kondisi key terkait antar table, maka semua row dari kedua table dikombinasikan.

Syntax dari INNER JOIN adalah sebagai berikut : ?

1 table_reference [INNER] JOIN table_factor [join_condition]

Terlihat bahwa keyword INNER boleh digunakan secara eksplisit atau tidak. Jika tidak digunakan maka konstruksi JOIN tanpa keyword lain dianggap sebagai INNER JOIN.

Secara pengerjaan relasi hampir sama dengan klusa WHERE ?

WHERE table1.referensiID = table2.referensiID

2. CROSS JOIN

Operasi cross join akan menampilkan semua isi tabel sisi sebelah kiri akan memiliki pasangan semua data sisi sebelah kanan. Banyaknya record cross join = jumlah record tabel pertama X jumlah record tabel kedua.

CROSS JOIN identik dengan INNER JOIN pada MySQL 5.0. Pembahasannya sama dengan INNER JOIN, dan karena klausa ini jarang dipakai maka tidak diulangi lagi disini.

SQL CROSS JOIN syntax:

SELECT * FROM [TABLE 1] CROSS JOIN [TABLE 2] OR SELECT * FROM [TABLE 1], [TABLE 2]

3. OUTER JOIN

Merupakan tipe join yang mencari referensi data dari suatu table sumber ke table lain dengan tidak menghilangkan data sumber apabila referensi tidak diketemukan

Syntax:

SELECT column_list

FROM table_reference

LEFT | RIGHT | FULL [OUTER] JOIN table_reference ON predicate

[LEFT | RIGHT | FULL [OUTER] JOIN table_reference ON predicate...]

.

Untuk menggunakan tipe OUTER JOIN maka perlu memperhatikan beberapa hal berikut :

Perlu dibedakan antara table sumber dan table referensi, ini ditentukan dengan cara menspesifikasikan kedudukan table sumber apakah di kiri (LEFT) atau di kanan (RIGHT).Jika tidak ada data dari table referensi yang cocok dengan kondisi join maka hanya data dari table sumber yang ditampilkan tetapi kolom-kolom table referensi akan berisi null.

LEFT JOIN

Operasi left join akan menampilkan semua isi tabel sisi kiri, walaupun data di pasangan joinnya yang disisi kanan nilainya tidak sama ataupun berisi null.

RIGHT JOIN

Operasi right join akan menampilkan semua isi tabel sisi kanan, walaupun data di pasangan joinnya yang di sisi kiri nilainya tidak sama ataupun berisi null.

STRAIGHT_JOIN

STRAIGHT_JOIN merupakan pengganti keyword JOIN pada MySQL yang digunakan untuk "memaksa" proses join table dari kiri (LEFT) ke kanan (RIGHT).

4. FULL JOIN

Operasi full join akan menampilkan semua isi tabel sisi kiri, walaupun data di pasangan joinnya yang disisi kanan nilainya null dan sebaliknya.

SYNTAX :

SELECT table1.column1, table2.column2...

FROM table1

FULL JOIN table2

ON table1.common_filed = table2.common_field;

Contoh script Full join

select d.area_id, d.nama_area, d.luas_area, p.penduduk_id, p.nama_pendudukfrom cpenduduk p full join carea d on p.area_id = d.area_id

Sumber Berita: www.muhammadcahya.com

http://www.muhammadcahya.com/post-12-pengertian-join-pada-sql.html#ixzz2Evi4kuWG