misal:
Tabel 1 dgn nama: "tbl_kota"
id_kota
|
nama_kota
|
id_propinsi
|
101
|
surabaya |
1
|
102
|
gresik |
1
|
103
|
kebumen |
2
|
104
|
semarang |
2
|
105
|
jogjakarta |
3
|
106
|
bogor |
4
|
107
|
banten |
5
|
Tabel 2 dgn nama "tbl_propinsi"
id_prop
|
nama_prop
|
1
|
jawa timur |
2
|
jawa tengah |
4
|
jawa barat |
7
|
jakarta |
8
|
sumatera utara |
kita ingin mengetahui pada tabel 1 yang tidak ada nilainya dan tabel 2 yang tidak berkaitan dengan tabel pertama, sehingga kita dapat mengetahui nilai yang null, dan ini bisa digunakan jika kita ingin cross cek data.
pada tabel diatas kita punya 2 tabel dengan struktur yang sama bagaimana kita ingin mengetahui jika tabel 1 tidak sama dengan tabel 2. dan bisa kita relasikan yaitu "id_propinsi" di tabel 1 dan "id_prop" di tabel 2.
pada suatu kasus diatas kita cross cek dua tabel tersebut dengan mengginakan query "full join". begini skrip code-nya:
select a.*,b.* from tbl_kota a full join tbl_propinsi b on a.id_propinsi = b.id_propsaya pikir cara ini akan berhasil., ternyata di beberapa SQL server tidak bisa mengeksekusi query diatas,
maka saya coba dengan query union seperti ini :
select * from ( select a.*,b.* from tbl_kota a left join tbl_propinsi b on a.id_propinsi = b.id_prop Union select a.*,b.* from tbl_kota a right join tbl_propinsi b on a.id_propinsi = b.id_prop ) hasil
dari query diatas maka dihasilkan data seperti ini:
id_kota
|
nama_kota
|
id_propinsi
|
id_prop
|
nama_prop
|
101
|
surabaya |
1
|
1
|
jawa timur
|
102
|
gresik |
1
|
1
|
jawa timur
|
103
|
kebumen |
2
|
2
|
jawa barat
|
104
|
semarang |
2
|
2
|
jawa barat
|
105
|
jogjakarta |
3
|
null
|
null
|
106
|
bogor |
4
|
4
|
jawa barat
|
107
|
banten |
5
|
null
|
null
|
null
|
null |
null
|
7
|
jakarta
|
null
|
null |
null
|
8
|
sumatera utara
|
maka kita akan menemukan data yang kita inginkan yang bernilai null adalah data yang kosong..
Semoga Membantu Kawan...!!
Tidak ada komentar:
Posting Komentar