Cross Join dalam SQL
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.

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.






![Validate my Atom 1.0 feed [Valid Atom 1.0]](http://www.feedvalidator.org/images/valid-atom.png)
2 comments:
wah baru tau ada cross join, apalagi full join..
:D
Post a Comment