-->

join part 2 (cross join)

Bentuk paling sederhana dari penggabungan dua buah tabel akan membantuk perkalian kartesian atau biasa juga disebut dengan cross join atau full join. Hal ini diperoleh kalau klausa WHERE tidak disebutkan. Sebagai contoh, tabel seperti berikut.

Tabel 1
A
B
1
2
3
4

Tabel 2
X
Y
5
6
7
8

Jika tabel diatas mau dikenakan operasi seperti berikut.

Select * from tabel1, tabel2;

Maka akan menghasilkan  informasi sebagai berikut .

A
B
X
Y
1
3
1
3
2
4
2
4
5
5
7
7
6
6
8
8

            Dalam praktiknya, operasi seperti ini jarang berguna dan dapat menimbulkan proses yang sangat lama jika masing-masing tabel mengandung jumlah data yang sangat besar.

#catatan
Jika jumlah data pada tabel1 adalah N1 dan jumlah data pada tabel2 adalah N2, maka hasil perkalian kartesian berupa N1 x N2.

Contoh berikut merupakan modifikasi dari pernyataan yang telah saya bahas dari materi cara-car join part 1, dengan tidak menyertakan klausa where. bila anda kurang begitu jelas dengan penggunaan join ada baiknya anda melihat materi cara-cara join part 1.

Lihat query berikut, jalankan query berikut lalu amati hasil query tersebut hasailnya seperti apa.

Select kota.nama_kota, provinsi.nama_provinsi from kota, provinsi;

Bila anda menjalankan perintah query tersebut, maka hasilnya setiap provinsi akan dipasangkan dengan setiap kota. Perintah query diatas bisa anda lakukan juga manjadi seperti berikut ini.

Select nama_kota, nama_prov from kota cross join provinsi;

CROSS JOIN dapat diikuti dengan suatu kondisi penggabungan berbentuk:
·         ON kondisi
·         Using (daftar_kolom)

Contoh berikut memperlihatkan penggunaan ON pada CROSS JOIN.

Select nama_kota, nama_prov
From kota cross join provinsi
On kota.kode_prov=provinsi.kode_prov;

Pada contoh di atas, ON membuat perkalian kartesian dibatasi yaitu yang memenuhi syarat berupa nilai yang sama pada kode_prov. Adapun contoh selanjutnya cara penggunaan using pada perintah CROSS JOIN.

Select nama_kota, nama_prov
From kota cross join provinsi
Using (kode_prov);

Pada contoh diatas tersebut, USING (kode_prov) digunakan untuk membatasi hasil CROSS JOIN, yaitu yang nilai kode_prov-nya yang sama saja. Adapun contoh berikut menunjukan penggunaan USING kalau terdapat dua buah nama kolom yang sama.

Select nama_kec, nama_kota from
Kecamatan cross join kota
Using (kode_prov, kode_kota);

Pada contoh diatas nilai kode_prov dank kode_kota pada kedua buah tabel harus sama.


Dengan ini materi kali ini saya akhiri, Bila anda kurang mengerti bisa anda tanyakan dengan komentar. Semoga pada materi ini bermanfaat untuk kita semua, lihat juga materi-materi lainnya hanya disini!! Sekian terima kasih!!

0 Response to "join part 2 (cross join)"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel