Anda di halaman 1dari 7

PRODI TEKNIK INFORMATIKA UMKT

Perintah MySQL untuk Menampilkan Data dari Beberapa Tabel

Di dalam suatu RDBMS termasuk MySQL, tentunya sudah menjadi suatu


kewajaran jika dalam satu database dapat terdiri dari beberapa tabel.
Masing-masing tabel tersebut dapat berhubungan (berelasi) satu sama
lain. Relasi antar-tabel dapat berupa relasi 1-1 (one-to-one), 1-M (one-to-
many), atau M-N (many-to-many). Sebagai contoh terlihat pada gambar
pemodelan data konseptual (class diagram) di bawah ini. Tabel pelanggan
berhubungan dengan pesan, pesan dengan barang, dsb.
Pada pembuatan suatu aplikasi, terkadang kita juga memerlukan tampilan
data yang tidak hanya berasal dari 1 (satu) tabel, namun bisa dari beberapa
tabel sekaligus. Contohnya, dari class diagram di bawah, kita ingin
menampilkan nama pelanggan berikut transaksi yang pernah dilakukannya.
Dari contoh tersebut, kita harus bisa menggabungkan minimal dua
tabel, yaitu pelanggan dan pesan.
Untuk menggabungkan 2 (dua) atau lebih tabel, kita dapat menggunakan
bentuk perintah JOIN. Dalam tutorialini, akan dijelaskan secara bertahap
mengenai bagaimana menggabungkan dua tabel atau lebih, terutama
untuk menampilkan data yang berasal dari beberapa tabel (query mysql
untuk penggabungan tabel). Contoh-contoh dalam tutorial ini secara khusus
telah dicoba di database MySQL, namun demikian secara umum perintah
penggabungan tabel di semua jenis database tidak jauh berbeda alias sama.
Sebelum belajar mengenai perintah penggabungan tabel, perlu
dipersiapkan tabel-tabel yang akan dijadikan sebagai bahan latihan dan
contoh dalam tutorial ini. Kita akan menggunakan tabel rancangan sistem
pemesanan barang (pembelian) sederhana berikut ini.

Untuk membuatnya, Anda dapat menggunakan tools seperti


PHPMyAdmin dan MySQLFront atau dapat juga melalui command-prompt.
Jika diperlukan, pelajari kembali postingan saya sebelumnya
mengenai administrasi database MySQL dengan PHPMyAdmin dan
juga dasar-dasar perintah SQL. Jangan lupa isikan beberapa contoh data
ke tabel-tabel yang sudah Anda buat.
1. Inner Join
Dengan inner join, tabel akan digabungkan dua arah, sehingga tidak ada
data yang NULL di satu sisi. Sebagai contoh, kita akan menggabungkan tabel
pelanggan dan pesan dimana kita akan menampilkan daftar pelanggan yang
pernah melakukan pemesanan (transaksi). Misalkan isi tabel pelanggan dan
pesan adalah sebagai berikut :

Tabel pelanggan (hanya ditampilkan field id_pelanggan, nm_pelanggan dan


email)

Tabel pesan.
a. Cara #1. Inner Join dengan WHERE.
Penggabungan dengan klausa WHERE memiliki bentuk umum sebagai berikut:

Berikut ini perintah SQL untuk menggabungkan tabel pelanggan dan pesan:

Hasilnya sebagai berikut:

Pada hasil perintah query di atas terlihat bahwa terdapat 5 (lima) transaksi
yang dilakukan oleh 3 (tiga) orang pelanggan. Jika kita lihat kembali isi tabel
pelanggan di atas, maka terdapat satu pelanggan yang tidak ditampilkan
yaitu yang memiliki id pelanggan P0003. Pelanggan tersebut tidak
ditampilkan karena belum pernah melakukan transaksi.

b. Cara #1. Inner Join dengan klausa INNER JOIN.


Berikut ini bentuk umumnya:
Dan berikut ini perintah SQL penggabungan tabel pelanggan dan
pesan.

Hasilnya akan sama dengan gambar di atas (cara #1).

2. Outer Join
Dengan outer join, tabel akan digabungkan satu arah, sehingga
memungkinkan ada data yang NULL (kosong) di satu sisi. Sebagai contoh,
kita akan menggabungkan tabel pelanggan dan pesan dimana kita akan
menampilkan daftar pelanggan yang pernah melakukan pemesanan
(transaksi).

Outer Join terbagi menjadi 2 (dua) yaitu LEFT JOIN dan RIGHT JOIN.
Berikut ini bentuk umum dan contohnya:

LEFT JOIN.

Bentuk umum:
Contoh perintah SQL:

Hasilnya:

Hasil Perintah Left Join

Berbeda dengan hasil sebelumnya (inner join), penggunaan left join akan
menampilkan juga data pelanggan dengan id P0003, walaupun pelanggan
tersebut belum pernah bertransaksi. Dan pada kolom id_pesan dan
tgl_pesan untuk pelanggan P0003 isinya NULL, artinya di tabel kanan
(pesan) pelanggan tersebut tidak ada.

RIGHT JOIN

Bentuk umum:
Contoh perintah SQL:

Hasilnya:

Dengan right join, tabel yang menjadi acuan adalah tabel sebelah kanan (tabel
pesan), jadi semua isi tabel pesan akan ditampilkan. Jika data pelanggan tidak
ada di tabel pelanggan, maka isi tabel pesan tetap ditampilkan.
3. Menggabungkan 3 Tabel atau Lebih
Untuk menggabungkan tiga tabel atau lebih, pada dasarnya sama dengan
penggabungan 2 (dua) tabel. Sebagai contoh misalnya kita akan
menampilkan barang-barang yang dipesan beserta nama barang dan
harganya untuk pemesanan dengan nomor 1, sedemikian sehingga hasilnya
menjadi sebagai berikut:

Contoh Hasil Penggabungan 3 Tabel

Bagaimana perintah SQL-nya? Hayoo, siapa bisa?