Rabu, 19 Oktober 2022

PostgreSQL Join

 


TABEL

tabel_pegawai











tabel_domisili










tabel_gaji










INNER JOIN

Inner Join adalah jenis join dengan membandingkan record di setiap table untuk dicek apakah nilai sama atau tidak. Jika nilai kedua table sama, maka akan terbentuk table baru yang hanya menampilkan record yang sama dari kedua table. Pada kasus kali ini yang akan menjadi nilai perbandingan nya adalah id_pegawai milik tabel_pegawai dan id milik tabel_gaji dan tabel_domisili. Jika kalian ingin memerge kedua table dan ingin menampilkan hasil yang dari kedua record yang id nya match maka gunakan inner join

Masukan column yang ingin di join setelah query SELECT, Dengan inner join kita bisa menyatukan column pada table berbeda dan disatukan dalam bentuk table. Untuk mengakses columnya kita harus mentyping kan nama tabelnya di ikuti dengan field nya. Contoh kita ingin mengakses column nama_pegawai yang ada pada table_pegawai maka jadinya seperti ini

“ SELECT table_pegawai.nama_pegawai ”

atau bisa juga seperti ini, jika nama tabelnya sudah dibuat kan variabelnya maka kita tinggal panggil nama variabel nya “

“ SELECT tp.nama_pegawai” // tp adalah represent dari tabel_pegawai yang telah di declare Ketika from

tabel_pegawai dibuat

Pada kasus ini kita akan malakukan inner joint pada table pegawai dengan table_gaji dan table domisili(triple inner joint)

Query

SELECT  tp.id_pegawai,

 tp.nama_pegawai,

 tp.job

 tg.gaji_pegawai

 td.kota

 td.daerah

FROM table_pegawai tp

INNER JOIN table_domisili td ON tp.id_pegawai = td.id

INNER JOIN table_gaji tg ON tp.id_pegawai = tg.id













RIGHT JOIN

Konsep RIGHT JOIN hampir sama seperti LEFT JOIN hanya yang menjadi master adalah table kanan (right table). Jika table kiri tidak sama nilainya dengan table kanan, maka akan diisi nilai NULL pada table kiri. 

Pada kasus ini tidak ada null karena tabel kiri dan tabel kanan id nya match













LEFT JOIN

LEFT JOIN menghasilkan nilai berdasarkan table kiri (left table) dan nilai yang sama di table kanan (right table). Jika pada table kanan tidak sama nilainya dengan table kiri, maka akan menjadi nilai NULL pada table kanan. Dibawah ini id dan nama barang pada column 3 null karena id pada table(kanan) tersebut tidak match dengan tabel kiri(transaksi penjualan second)








0 comments:

Posting Komentar