Membuat table dan relasi antar table
sesuai dengan EERD topic
Sistem Penjualan Barang
Macam-macamjoinpadamysql
1.
Inner
Join
Inner Joinadalahperintahuntukoperasipenggabungan
yang paling umumdigunakandanbiasanyadikatakansebagai default join-type.Inner
Join hanyamenampilkan data yang benar-benarterdapat di dalamtabel yang
salingdihubungkan.
Misalnyamenggabungkantabel Customers dengan Orders, maka field penghubung yang digunakanadalahCustomerID. Dalamteknik INNER JOIN makahasil yang ditampilkanhanya record yang memilikiCustomerIDsama di keduatabeltersebut. Apabilaterdapatcustomr yang CustomerIDnyatidakditemukan di tabel Orders maka data tersebuttidakditampilkan.
Misalnyamenggabungkantabel Customers dengan Orders, maka field penghubung yang digunakanadalahCustomerID. Dalamteknik INNER JOIN makahasil yang ditampilkanhanya record yang memilikiCustomerIDsama di keduatabeltersebut. Apabilaterdapatcustomr yang CustomerIDnyatidakditemukan di tabel Orders maka data tersebuttidakditampilkan.
Berikutinicontohperintah
yang menggunakan syntax inner join :
SELECT
CompanyName, OrderID, OrderDate
FROM
Customers
INNER
JOIN Orders ON Customers.CustomerID = Orders.CustomerID
Perintah
SQL tersebutmengambil field CompanyNamedaritabel Customers, sedangkan field
OrderIDdanOrderDatediambildaritabel
Orders.Kunciutamapenggabunganduatabeltersebutadalah keyword INNER JOIN
dengankriteriaCustomerID.
INNER
JOIN Orders ON Customers.CustomerID = Orders.CustomerID
Antaranamatabeldengannama
field dibatasidengantandatitik (.) misalnyaOrders.CustomerID.
Tujuanpencantumannamatabeltersebutadalahmenghindariambiguitas yang
mengakibatkan error apabilaperintahtersebutdieksekusi. KarenaCustomerIDtersebutterdapat
di keduatabelmakanamatabelharusdicantumkan agar dapatdiidentifikasisecaraunik
field mana yang dimaksud.
2.
Cross Join
Sebuahpenggabungan yang
meliputilebihdarisatutabeltanpasyaratapapun.Hasildari Cross Join
akanmenghasilkanprodukKartesian.
3.
Outer
Join
Outer
join akanmnghasilkansemua data darisebuahtabeldanmembatasi data
daritabellainnya. Terdapat 3 alteryaitu
1. Left Outer Join :Semuabarisdari table yang diacudari table sebelahkiri
2. Right Outer Join :Semuabarisdari table yang diacudari table sebelahkanan
3. Full Outer Join :Semuabaris yang dihasilkandarikedua table
1. Left Outer Join :Semuabarisdari table yang diacudari table sebelahkiri
2. Right Outer Join :Semuabarisdari table yang diacudari table sebelahkanan
3. Full Outer Join :Semuabaris yang dihasilkandarikedua table
Kegunaan outer join
adalahuntukmencari record – record piatu, artinya record yang ada di
sebuah table tapitidakmemilikipasangan di table lain.
4.
Straight
Join
Straight Join merupakanpengganti keyword JOIN pada MySQL yang digunakanuntuk
"memaksa" proses join table darikiri (LEFT) kekanan (RIGHT).
2.
Planning Join
TabelPembelian Table
BeliPutus
Id_pembelian
|
Tanggal
|
|
|
|
|
|
|
Id_pembelian
|
Id_barang
|
quantity
|
harga
|
|
|
|
|
|
|
|
|
|
|
|
|
Inner
Join
Id_pembelian
|
id_brng
|
quantity
|
harga
|
Id_pembelian
|
Tanggal
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Keterangan:
Memilihuntukmenampilkan data daridua table yang
berisi data sesuaidengansyaratdengan kata lain table kirimendapatpasangan table
kanan.
SELECT
field FROM table_1 (tb_pembelian),inner join tb_2 (tb_beliputus) on kondisi
Contoh:
Left
join memunculkansemuabaristabelpertama, bahkanjikatidakadapasangannya di
tabelkedua. Jikaadabarispadatabelpertama yang
tidakada.Pasangannyapadatabelkedua, makaakandimunculkanjuga.
TabelPembelian
Id_pembelian
|
Kd_return
|
tgl
|
n.brng return
|
Quantity
return
|
|
|
|
|
|
|
|
|
|
|
TabelBarangbisa return
Id_pembelian
|
Tanggalpembelian
|
|
|
|
|
Right
Outer Join
Id_pembelian
|
Tglpembelian
|
Id_pembelian
|
Kd_return
|
Tgl_returnbrng
|
N.brng
return
|
Quantity
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Keterangan:
Untuk table pegawaidan table barangkitamenggunakanright
outer join yaitumenggabungkansatu field table barang yang berada di sebelahkanankedalam
field table sebelahkiri table barang.
SELECT
field FROM table_pembelianRIGHTJOIN table_pembelian on kondisiatau primary key
Contoh:
SELECT
Orders.OrderID, Employees.FirstNameFROM OrdersRIGHT JOIN EmployeesON
Orders.EmployeeID=Employees.EmployeeIDORDER BY Orders.OrderID;
Akan
memunculkansemuabaristabelkeduaatau table barangbisa return,
bahkantidakadapasangannya di tabelpertamaatau table pembelian.
Jikaadabarispadatabelkedua yang tidakadapasangannyapadatabelpertama, makaakandimunculkan.
Tidak ada komentar:
Posting Komentar