JOIN
Pengertian Join
Join adalah konstruksi dasar dalam SQL dan basis data yang berfungsi untuk menggabungkan data dari dua atau lebih tabel ke dalam satu tabel baru. Tabel baru yang dihasilkan disebut sebagai joined tabel.
Fungsi : Menggabungkan data dari beberapa tabel berdasarkan kolom atau key tertentu
Tujuan : Mendapatkan satu set data dengan informasi lengkap
Manfaat : Membuat tabel yang lebih besar dengan data dari sumber yang berbeda
Beberapa jenis operator JOIN yang sering digunakan adalah:
1. Inner Join
INNER JOIN adalah fungsi JOIN di SQL yang menggabungkan data dari dua tabel atau lebih, namun hanya menampilkan nilai yang sama saja. Sedangkan untuk baris-baris lain yang nilainya tidak sama, maka tidak akan ditampilkan.
2. Left Join
Pada fungsi LEFT JOIN, menggabungkan data dari dua tabel atau lebih, namun data dari tabel pertama (atau tabel kiri) akan ditampilkan seluruhnya meskipun nilai pada tabel kedua tidak cocok. Jika tidak ada data yang cocok pada tabel kedua, maka akan ditampilkan sebagai NULL.
3. Full Outer Join
FULL JOIN, atau dikenal juga sebagai FULL OUTER JOIN, adalah jenis JOIN yang menggabungkan semua data dari dua tabel berdasarkan kondisi yang ditetapkan, meskipun jika ada ketidakcocokan antara kedua tabel. Seolah-olah menggabungkan LEFT JOIN dan RIGHT JOIN, data yang tidak memiliki kecocokan akan diisi dengan NULL.
Tugas :
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 :
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;
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,barang.nama_barang FROM pesanan INNER JOIN pesanan_detail ON pesanan.id_pesanan = pesanan_detail.id_pesanan INNER JOIN barang ON barang.id_barang = pesanan_detail.id_barang;
5. Nama Pelanggan Dan Pesan Berapa Jenis Barang
Query : SELECT 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