Di artikel ini saya mau share materi MySql tentang join, untuk pengertiannya sendiri kurang lebih seperti judulnya, dengan query join ini dapat menampilkan record field yang berada di beda tabel dengan parameter primary key.
Untuk join sendiri ada 3
- Inner Join
- Left Join
- Right Join
Saya nggak terlalu kan membahas terlalu dalam langsung saja ke pembahasannya ya, tapi sebelum itu di sini saya mau menjelaskan tentang pembuatan database, tabel dan insert record nya ya.
Membuat database
1 |
CREATE DATABASE transaksi; |
Membuat Tabel Pegawai
1 2 3 4 5 6 7 8 |
CREATE TABLE pegawai ( id_pegawai int(11) AUTO_INCREMENT, nama_pgw varchar(25), alamat_pgw varchar(50), telp_pgw varchar(13), PRIMARY KEY (id_pegawai) ); |
Membuat Tabel Handphone
1 2 3 4 5 6 7 8 9 10 |
CREATE TABLE handphone ( id_hp int(11) AUTO_INCREMENT, merk varchar(20), tipe varchar(20), harga_hp int(11), stock_hp int(11), spesifikasi varchar(256), PRIMARY KEY (id_hp) ); |
Membuat Tabel Pembeli
1 2 3 4 5 6 7 8 |
CREATE TABLE pembeli ( id_pembeli int(11) AUTO_INCREMENT, nama varchar(25), alamat varchar(50), no_hp varchar(13), PRIMARY KEY (id_pembeli) ); |
Membuat Tabel Transaksi
1 2 3 4 5 6 7 8 9 10 11 |
CREATE TABLE transaksi ( id_transaksi int(11) AUTO_INCREMENT, tanggal timestamp, id_pembeli int(11), id_pegawai int(11), id_hp int(11), total_harga int(11), jumlah int(11), PRIMARY KEY (id_transaksi) ); |
Input Record
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 |
\\insert record HANDPHONE INSERT INTO handphone ( merk, tipe, harga_hp, stock_hp, spesifikasi ) VALUES ( 'xiaomi', 'note 10 pro 8/128', 3900000, 20, 'Snapdragon 732G RAM 8 ROM 128' ) INSERT INTO handphone ( merk, tipe, harga_hp, stock_hp, spesifikasi ) VALUES ( 'xiaomi', 'note 10 pro 6/64', 3500000, 20, 'Snapdragon 732G RAM 6 ROM 64' ) INSERT INTO handphone ( merk, tipe, harga_hp, stock_hp, spesifikasi ) VALUES ( 'iphone', 'iphone x', 12000000, 20, 'IOS 15 RAM 3 Internal 64' ) \\insert record PEGAWAI INSERT INTO pegawai ( nama_pgw, alamat_pgw, telp_pgw ) VALUES ( 'nana', 'Cengakreng, Jakarta Barat', '082251116009' ) INSERT INTO pegawai ( nama_pgw, alamat_pgw, telp_pgw ) VALUES ( 'lala', 'Cengakreng, Jakarta Barat', '082251116021' ) \\insert record PEMBELI INSERT INTO pembeli ( nama, alamat, no_hp ) VALUES ( 'eko', 'ciputat, tangerang', '082267890978' ) INSERT INTO pembeli ( nama, alamat, no_hp ) VALUES ( 'poh', 'bekasi, jawa barat', '082209876789' ) \\insert record TRANSAKSI INSERT INTO transaksi ( id_pembeli, id_pegawai, id_hp, total_harga, jumlah ) VALUES ( 1, 1, 3, 12000000, 1 ) INSERT INTO transaksi ( id_pembeli, id_pegawai, id_hp, total_harga, jumlah ) VALUES ( 2, 2, 1, 3500000, 1 ) |
Inner Join
Inner join ini merupakan metode untuk menggabungkan dua atau lebih tabel dengan membandingkan record untuk mengecek persamaan record, jika nilai kedua tabel sama akan ke create table baru yang hanya dapat menampilkan record yang sama dari antar tabel.
Penulisan Query Inner Join
1 |
select * from transaksi inner join handphone on transaksi.id_hp=handphone.id_hp inner join pegawai on transaksi.id_pegawai=pegawai.id_pegawai inner join pembeli on transaksi.id_pembeli=pembeli.id_pembeli |
Hasil Query

Left Join
Dimulai dari tabel 1 atau paling kiri untuk menampilkan record dan jika ada field yang tidak memiliki record maka akan di tuliskan null di sisi kanan.
Penulisan Query Left Join
1 |
select transaksi.*, pembeli.nama, pegawai.nama_pgw, handphone.id_hp from transaksi left join pembeli on transaksi.id_pembeli=pembeli.id_pembeli left join pegawai on transaksi.id_pegawai=pegawai.id_pegawai left join handphone on transaksi.id_hp=handphone.id_hp |
Tampilan Hasil Query

Right Join
Right join kebalikan dari left yang dimana mulai menampilkan data record dari tabel 2 atau dari sebelah kanan dan akan menampilkan null jika filed tidak memiliki record.
Penulisan Query Right Join
1 |
select transaksi.*, pembeli.nama, pegawai.nama_pgw, handphone.id_hp from transaksi right join pembeli on transaksi.id_pembeli=pembeli.id_pembeli right join pegawai on transaksi.id_pegawai=pegawai.id_pegawai right join handphone on transaksi.id_hp=handphone.id_hp |
Tampilan Hasil Query

Berikut tadi 3 penjelasan terkait join yang ada pada mysql jika kalian banyak menemukan kesalahan dalam penulisan ataupun qerry yang typo mohon dimaklumi ya karena masih tahapan belajar.
Thank you for nice information. Please visit our web:
https://uhamka.ac.id
Nice Share
thanks