Share |

Cross Join dalam SQL

Melanjutkan artikel saya yang berjudul Konsep Himpunan Dalam SQL , disini saya akan melengkapi 2 (perintah) lagi yaitu Full Join dan Cross Join. Perintah ini merupakan salah satu bentuk kombinasi dari beberapa kombinasi dalam merelasikan 2 (tabel) atau lebih. Memang perintah ini sangat jarang dipakai, tapi tidak ada salahnya untuk saya tuliskan disini karena saya sendiri sebenarnya sudah lupa dengan dua perintah ini. Untung ada yang mengingatkan saya lewat komentar di artikel yang telah saya sebutkan di atas. Jadi walaupun nantinya saya lupa lagi masih bisa dibaca di artikel ini, dan mungkin ada pengunjung yang lebih bisa memanfaatkannya.

Full Join :

Apabila Anda punya 2 (dua) table yaitu tabel A dan tabel B.

Tabel A : Berisi nama-nama person.

Kode Nama Kota
1001 Udin Surabaya
1002 Imul Jakarta
1003 Dede Jakarta
1004 Vina Bandung
1005 Tutik Semarang

Tabel B : Berisi daftar kota.

Kota Area
Ambon 0911
Surabaya 031
Jakarta 021
Yogyakarta 0274
Solo 0271

Dengan perintah Full Join maka gabungan dari dua tabel tersebut seluruhnya akan ditampilkan, disini kita contohkan field “kota” sebagai kunci penghubung.

SELECT a.kode, a.nama,
a.kota as kota_person, b.kota as daft_kota FROM tabelA a FULL JOIN tabelB b on a.kota=b.kota
ORDER BY kode

Maka tabel yang dihasilkan :

Kode Nama Kota_Person Daft_Kota Area
null null null Ambon 0911
null null null Yogyakarta 0274
null null null Solo 0271
1001 Udin Surabaya Surabaya 031
1002 Imul Jakarta Jakarta 021
1003 Dede Jakarta Jakarta 021
1004 Vina Bandung null null
1005 Tutik Semarang null null

Hasil tabel tersebut terlihat, untuk kolom kota_person = “Bandung” dan “Semarang” mempunyai daft_kota dan Area yang bernilai “null” (tidak punya nilai). Sebab dua kota tersebut tidak terdaftar di tabel B.

Begitu pula dengan kolom Daft_kota = “Ambon”, “Yogyakarta”, “Solo” mempunyai Kode, nama, kota_person = “null”. Penyebabnya kota-kota tersebut terdaftar didalam tabel B tapi tidak ada dalam tabel A.

Jadi semua sudah jelas bagaimana cara menggunakan FULL JOIN.

CROSS JOIN :

Untuk memahami perintah ini saya berikan 2 (dua) tabel yang sederhana saja sebagai contoh.

table3

Dari tabel diatas cuma saya ringkas saja garis relasinya, sebenarnya diteruskan sampai kode A = ‘1005′.

Jadi himpunan yang terbentuk dari CROSS JOIN di atas

hasil := {‘1001A’, ‘1001B’, ‘1001C’, ‘1002A’, ‘1002B’, ‘1002C’, …, ‘1005B’, ‘1005C’}.

Bentuk perintahnya sebagai berikut :

SELECT kodeA, kodeB FROM tabelA
CROSS JOIN tabelB ORDER BY KodeA

Tabel yang dihasilkan :

KodeA KodeB
1001 A
1001 B
1001 C
1002 A
1002 B
1002 C
1003 A
1003 B
1003 C
1004 A
1004 B
1004 C
1005 A
1005 B
1005 C

Demikian penjelasan mengenai FULL JOIN dan CROSS JOIN mudah-mudah bermanfaat bagi pembaca.

2 comments:

paulus sumoaji wibowo said...

wah baru tau ada cross join, apalagi full join..

KURNIAWAN said...

:D

Post a Comment

Related Posts Plugin for WordPress, Blogger...

infolink

My Headlines

Tukar Link

KITA COMMUNITY

Followers

Fartner