Join
JOIN
JOIN merupakan perintah di MySQL untuk menggabungkan 2 table atau lebih berdasarkan kolom yang sama
Berikut pengertian singkat dari berbagai jenis JOIN dalam SQL:
- INNER JOIN: Menggabungkan dua tabel dan hanya menampilkan baris yang memiliki kecocokan di kedua tabel berdasarkan kolom tertentu.
- LEFT JOIN: Mengambil semua data dari tabel kiri dan data yang sesuai dari tabel kanan. Jika tidak ada kecocokan, tabel kanan diisi dengan NULL.
- RIGHT JOIN: Mengambil semua data dari tabel kanan dan data yang sesuai dari tabel kiri. Jika tidak ada kecocokan, tabel kiri diisi dengan NULL.
- FULL OUTER JOIN: Mengambil semua data dari kedua tabel, baik yang memiliki kecocokan maupun tidak. Baris tanpa kecocokan diisi dengan NULL.
- CROSS JOIN: Menghasilkan semua kombinasi baris dari kedua tabel, tanpa mempertimbangkan kecocokan.
Masing-masing JOIN digunakan untuk tujuan yang berbeda dalam menggabungkan data dari beberapa tabel.
CONTOH :
TABEL BARANG
TABEL PELANGGAN
TABEL PESANAN
TABEL PESANAN DETAIL
Latihan soal !
1. Hubungkan barang dan pesanan_detail (tampilkan nama barang dan banyak harga)
Query : SELECT barang.nama_barang, pesanan_detail.harga FROM pesanan_detail JOIN barang ON pesanan_detail.id_barang = barang.id_barang GROUP BY pesanan_detail.id_barang;
Hasilnya :
2. Hubungkan pelanggan dan pesanan (tampilkan nama pelanggan dan tanggal beli)
Query : SELECT nama, tanggal FROM `pesanan` JOIN pelanggan ON pesanan.id_pelanggan = pelanggan.id_pelanggan;
Hasil :
3. Hubungkan pesanan dan pesanan detail (kelompokkan berdasarkan pesanan, hitung berapa banyak pesanan detail tiap pesanan)
Query : SELECT pesanan.id_pesanan AS pesanan, COUNT(pesanan_detail.id_detail) AS total_pesanan FROM `pesanan` JOIN pesanan_detail ON pesanan.id_pesanan = pesanan_detail.id_pesanan GROUP BY pesanan.id_pesanan;
Hasil :
4. Cari tau tanggal pesan dan barangnya
Query : SELECT pesanan.tanggal, pesanan_detail.id_barang, barang.nama_barang FROM `pesanan_detail` JOIN pesanan ON pesanan.id_pesanan = pesanan_detail.id_pesanan JOIN barang ON barang.id_barang = pesanan_detail.id_barang;
Query : SELECT pesanan.id_pelanggan, pelanggan.nama, pesanan_detail.qty FROM `pesanan_detail` JOIN pesanan ON pesanan.id_pesanan = pesanan_detail.id_pesanan JOIN pelanggan ON pelanggan.id_pelanggan = pesanan.id_pelanggan;









Komentar
Posting Komentar