JNet99

Enjoy Saja Bro

Full Join dan Cross Join dalam SQL

13-iconMelanjutkan 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.

Artikel lainnya

Filed under: SQL, Tips & Tricks, , , ,

14 Responses

  1. riyansyah91 mengatakan:

    kalo mw liat sql yang ada di oracle main-main aja ke http://risnotes.com/ thx

  2. John mengatakan:

    termakasih infonya, sangat bermanfaat , Abla

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

delicious

%d blogger menyukai ini: