DML JOIN
Nama : Sarwo Miju
Prodi : Sistem Informasi
Pada praktikum 6 kita telah membuat database sistem_pemesanan dan beberapa tabel. Disini kita akan memasukkan data ke dalam tabel-tabel yang telah dibuat.
1. Buka laragon kemudian akses database sistem_pemesanan
use sistem_pemesanan;
a) Masukkan data ke tabel pelanggan
b) Masukkan data ke tabel pesan
3. INNER JOIN
Inner join dalam database (basisdata) adalah operasi yang digunakan untuk menggabungkan data dari dua tabel atau lebih menjadi satu hasil yang baru. Inner join bermanfaat untuk menampilkan informasi terkait dari tabel-tabel yang saling berhubungan.
Dengan inner join, tabel akan digabungkan dua arah, sehingga tidak ada data yang NULL di satu sisi.
terbagi menjadi 2 cara yaitu:
- Penggabungan dengan WHERE
bentuk umum : SELECT tabel1.*, tabel2.* FROM tabel1, tabel2 WHERE tabel1.PK=tabel2.FK;
- Penggabungan dengan INNER JOIN
bentuk umum : SELECT tabel1.*, tabel2.* FROM tabel1 INNER JOIN tabel2 ON tabel1.PK=tabel2.FK;
Contoh :
menggabungkan tabel pelanggan dan tabel pesan
Penjelasan query:
SELECT menentukan kolom yang ingin diambil (id dan nama pelanggan dari tabel Pelanggan sedangkan id dan tgl pesan dari tabel Pesan).
FROM Pelanggan menspesifikasikan tabel pertama yang akan digunakan.
INNER JOIN Pesan menspesifikasikan tabel kedua yang akan digabungkan.
ON Pelanggan.id_pelanggan = Pesan.id_pelanggan. merupakan kondisi join yang menentukan kolom mana yang menjadi dasar pencocokan antara kedua tabel. Dalam contoh ini, kita menggunakan id_pelanggan karena ini yang membuat kedua tabel saling berhubungan.
Penjelasan query:
SELECT menentukan kolom yang ingin diambil (id pesan, id pelanggan, tgl pesan dari tabel Pesan sedangkan id faktur, id pesan dan tgl faktur dari tabel Faktur).
FROM Pesan menspesifikasikan tabel pertama yang akan digunakan.
INNER JOIN faktur menspesifikasikan tabel kedua yang akan digabungkan.
ON Pesan.id_pesan = faktur.id_pesan. merupakan kondisi join yang menentukan kolom mana yang menjadi dasar pencocokan antara kedua tabel. Dalam contoh ini, kita menggunakan id_pesan karena ini yang membuat kedua tabel saling berhubungan.
Left join digunakan dalam berbagai situasi untuk menampilkan semua data dari tabel kiri, beserta data terkait dari tabel kanan jika ada.
bentuk umum:
SELECT kolom1, kolom2, ...
FROM tabel1
LEFT JOIN tabel2
ON tabel1.kolom_join = tabel2.kolom_join;
Penjelasan query:
SELECT menentukan kolom yang ingin diambil (id dan nama pelanggan dari tabel Pelanggan sedangkan id dan tgl pesan dari tabel Pesan).
FROM Pelanggan menspesifikasikan tabel pertama yang akan digunakan.
LEFT JOIN Pesan menspesifikasikan tabel kedua yang akan digabungkan.
ON Pelanggan.id_pelanggan = Pesan.id_pelanggan. merupakan kondisi join yang menentukan kolom mana yang menjadi dasar pencocokan antara kedua tabel. Dalam contoh ini, kita menggunakan id_pelanggan karena ini yang membuat kedua tabel saling berhubungan.
Untuk menggabungkan tiga tabel atau lebih, pada dasarnya sama dengan penggabungan 2 (dua) tabel menggunakan WHERE.
Contoh :
Hasil dari sintaks SQL tersebut adalah tabel yang menunjukkan:
- id_pesan: ID pesan dari tabel pesan.
- tgl_pesan: Tanggal pemesanan dari tabel pesan.
- jumlah: Total jumlah item yang dipesan untuk setiap ID pesan, dihitung dengan menjumlahkan nilai jumlah dari tabel detil_pesan yang memiliki id_pesan yang sama.
Penjelasan query:
SELECT: Menentukan kolom yang ingin ditampilkan:
pesan.id_pesan: ID pesan dari tabel pesan.
pesan.tgl_pesan: Tanggal pemesanan dari tabel pesan.
SUM(detil_pesan.jumlah) AS jumlah Menghitung total jumlah item yang dipesan untuk setiap ID pesan dengan menggunakan fungsi SUM(). Hasil perhitungan disimpan dalam kolom baru bernama jumlah.
FROM pesan, detil_pesan: Menentukan tabel yang akan digunakan:
WHERE pesan.id_pesan=detil_pesan.id_pesan: Menentukan kondisi join:
Menyatukan baris dari kedua tabel berdasarkan kesamaan nilai pada kolom id_pesan.
Hanya baris yang memiliki nilai id_pesan yang sama di kedua tabel yang akan disertakan dalam hasil query.
GROUP BY id_pesan: Mengelompokkan hasil berdasarkan ID pesan:
Menghitung total jumlah item yang dipesan untuk setiap ID pesan secara terpisah.
Hasil perhitungan untuk setiap ID pesan akan ditampilkan dalam satu baris.
Hasil dari sintaks SQL tersebut adalah tabel yang menunjukkan daftar pelanggan yang pernah melakukan pemesanan.
Penjelasan query:
SELECT id_pelanggan, nm_pelanggan FROM pelanggan: Memilih kolom id_pelanggan dan nm_pelanggan dari tabel pelanggan.
WHERE id_pelanggan IN (SELECT id_pelanggan FROM pesan): Menyaring hasil berdasarkan kondisi:
IN operator digunakan untuk memeriksa apakah nilai id_pelanggan pada tabel pelanggan terdapat dalam hasil subquery (SELECT id_pelanggan FROM pesan).
Subquery (SELECT id_pelanggan FROM pesan):
Mengambil semua nilai id_pelanggan yang unik dari tabel pesan.
Hasil subquery ini digunakan sebagai daftar id_pelanggan yang valid untuk disaring.
Pada akhirnya, query ini hanya akan menampilkan data pelanggan dari tabel pelanggan yang memiliki id_pelanggan yang juga terdapat pada tabel pesan. Artinya, query ini hanya menampilkan data pelanggan yang pernah melakukan pemesanan.
terima kasih.
💕💕












Komentar
Posting Komentar