UTS PRAKTIKUM BASIS DATA
use sistem_pemesanan;
- Memasukkan data ke tabel pelanggan
- Memasukkan data ke tabel pesan
- Masukkan data ke tabel produk
Inner join dalam database adalah perintah yang digunakan untuk menggabungkan data dari dua tabel atau lebih menjadi satu hasil. Inner join hanya menampilkan baris data yang memiliki nilai cocok (sesuai) pada kolom yang menjadi syarat penggabungan.
• 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.aa
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.
4. LEFT JOIN
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;
Contoh penggunaan:
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.
5. Menggabungkan 3 tabel
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.
7. Memfilter data pelanggan dari tabel pelanggan berdasarkan riwayat pemesanan mereka di tabel pesan
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.












Komentar
Posting Komentar