Pengertian Join
Join adalah operasi untuk mengambil
informasi dari 2 tabel atau lebih dalam 1 waktu. Dengan join baris data dari
satu tabel dihubungkan dengan baris data pada tabel lain berdasarkan kolom
tertentu. JOIN
dalammysql adalah Salah satufitur SQL yang paling bergunauntukmenggabungkan table
dengan query – query yang mendapatkankembali data.
Macam – macam JOIN :
Macam – macam JOIN :
1. InnerJoin
Inner
join adalah join yang hanyaakanmenampilkanbarisuntuk data yang memilikinilai
yang sama/ yang adapasangannyapada field kuncidengantabel yang berelasi. Inner
join merupakanjenis join yang paling umum yang dapatdigunakanpadasemua
database. Jenisinidapatdigunakanbilainginmerelasikandua set data yang ada di
tabel, letakrelasinyasetelahpadaperintahON pada join.
Bentukbakuperintah
inner join :
SELECT
<field1>,<field2>,<fieldn> FROM <tabel1> INNER JOIN
<tabel2> ON <key.tabel1> = <key.tabel2>
2.
OuterJoin
Outer
join akanmenghasilkansebuah data darisebuahtabeldanmembatasi data
daritabellainnya. Terdapat 3 tipe Outer join yaitu Left Join, Right Join, dan
Full Join.
§ Left Outer Join
Operasi
Join tipeiniakanmenampilkansemuaisitabelsisikiri, walaupun data di
pasanganjoinnyaygdisisikanannilainyatidaksamaataupunbernilai null.
Bentukperintah Left Outer Join :
SELECT
<field1>,<field2>,<fieldn> FROM <tabel1> LEFT JOIN
<tabel2> ON<key.tabel1> = <key.tabel2>
§ Right Outer Join
Operasi
Join tipeiniakanmenampilkansemuaisitabelsisiKanan, walaupun data di
pasanganjoinnyaygdisisikirinilainyatidaksamaataupunbernilai null.
Bentukperintah Right Outer Join :
SELECT
<field1>,<field2>,<fieldn> FROM <tabel1> RIGHT JOIN
<tabel2>ON <key.tabel1> = <key.tabel2>
§ FullJoin / FullOuterJoin
Penggunaan
FULL JOIN adalahuntukmenampilkankedua table dengan record – record yang
bersesuaiansaja. Field yang berelasiditampilkansekali di awal table atau paling
kiri. Lihatgambar di bawah.FullJoin adalah Gabungandari left dan right
outer join
Syntak :
select*from [Tabel_1] full
join [Tabel_2] using([field yang berelasi]);
Penggunaan FULL JOIN jugabisasepertigambar di bawah.
Syntak :
select*from [Tabel_1] full
join [Tabel_2];
3. Cross
Join.
CrossjoinkadangkaladisebutjugasebagaiCartesianProduct. Bilamenggunakancrossjoin,
makahasildaricross joinakanmenciptakanhasilyangdidasarkanpadasemuakemungkinankombinasibarisdalamkeduasetdata.Dengandemikian,jumlahbarisyangdikembalikanadalahN✕M,dimanaN adalahjumlahbarisdalamkumpulandataAdanMjumlahbarisdalamkumpulandataB.Jelas,jumlahbarisdalamcross join dapatmenjadisampah.
Bentuk perintah dari Cross Join adalah
SELECT
<field1>,<field2>,<fieldn> FROM <tabel1> CROSS JOIN
<tabel2>
atau
SELECT
<field1>,<field2>,<fieldn> FROM <tabel1>,
<tabel2>
4.
Union
Join
UniondidukungolehMySQL mulaidariversi4.0.PemakaianuniondapatmenyederhanakanperintahpersyaratanORyangbertingkat.BiladalamsebuahquerymenghasilkanpemakaianperintahORyang
lebihdarisatusehinggadapatmembuatbingung,sebagaigantinyadigunakanperintahUNION.
Agar
lebihjelas, perhatikancontohberikutini.
Contoh
:
Tampilkan
nip, namadangajidaripegawai yang bekerja di bagianakuntansidan SDM.
(anggapsajaperintahsql yang digunakansudahkompleks)Bilamenggunakanperintah OR,
makaperintahsqlnyaakansepertidibawahini :
selecti.nip,i.nama,p.gaji from
infopribi join pekerjaan p oni.nip=p.nip where p.kode_bag="3" or
p.kode_bag="4";
Tetapiperintah OR
dapatdigantidenganperintah
UNION danbila di
jalankanakanmenghasilkanhal yang sama.
(selecti.nip,i.nama,p.gaji from
infopribi join pekerjaan p oni.nip=p.nip where p.kode_bag="3") UNION
(selecti.nip,i.nama,p.gaji from
infopribi join pekerjaan p oni.nip=p.nip where p.kode_bag="4")
Planning Join
1. View_Barangmasuk
Inputan :Table Distribusi (field status,
tglpengiriman)
Table Supplier (field nama_supplier)
Table Barang (field nama_barang, kategori, stok, satuan)
Table Gudang (field nama_gudang,
alamat, kapasitas)
Proses :denganmelihat view_Barangmasuk, makadari
table Distribusi,
Supplier, Barang, GudangdapatdigabungkandenganmenggunakanCross
Join
Output :
1.
View_Barangkeluar
Inputan : Table Gudang (field nama_gudang, kapasitas)
Table Barang(field nama_barang, kategori,
stok, satuan)
Proses :denganmelihatView_Barangkeluar, makadari table GudangdanBarangdapatdigabungkandenganmenggunakanRight Join
Output
Tidak ada komentar:
Posting Komentar