JOin
JOIN
JOIN adalah salah satu perintah di dalam SQL. Perintah JOIN ini digunakan untuk menggabungkan data dari dua atau lebih tabel sehingga menjadi satu. Untuk dapat melakukan perintah JOIN syaratnya adalah terdapat kolom yang mempunyai hubungan diantara tabel-tabel tersebut.
Berikut adalah macam-macam join :
- 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 menghubungkan dari tabel satu ke tabel yang lain.
Contoh :
1. Tabel pesanan detail
3. Tabel pesanan
4. Tabel pelanggan
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;
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;
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;
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;
5. Nama pelanggan dan pesan berapa jenis 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