Nama : Afni Eka Rahmawati
NIM : 203100077
Prodi : Sistem Informasi
Langkah awal, masukkan data berikut ke tabel detil_pesan.
detil_pesan
id_pesan id_produk jumlah harga
1 MIE001 3 jumlah x dengan harga di ID PRODUK
2 ATK001 4 jumlah x dengan harga di ID PRODUK
3 ATK002 5 jumlah x dengan harga di ID PRODUK
4 ATK002 6 jumlah x dengan harga di ID PRODUK
SOAL!
Petunjuk: setiap soal discreenshootkan syntak dan hasil querynya.
1. Lakukan INNER JOIN dari semua tabel yang bisa dilakukkan inner join! (tidak ada ketentuan minimal, semakin banyak tentu semakin baik jika benar)
- select pesan.id_pesan,pesan.tgl_pesan,faktur.id_faktur,faktur.tgl_faktur,pelanggan.id_pelanggan,pelanggan.nm_pelanggan,
- pelanggan.alamat,pelanggan.telepon,pelanggan.email,detail_pesan.id_produk,detail_pesan.jumlah,detail_pesan.harga
-> from pesan -> inner join faktur on pesan.id_pesan=faktur.id_pesan -> inner join pelanggan on pesan.id_pelanggan=pelanggan.id_pelanggan -> inner join detail_pesan on pesan.id_pesan=detail_pesan.id_pesan;

- select produk.id_produk,produk.nm_produk,produk.satuan,produk.harga,produk.stock,detail_pesan.id_pesan,detail_pesan.jumlah,detail_pesan.harga
- -> from produk
- -> inner join detail_pesan on produk.id_produk=detail_pesan.id_produk;
2. Lakukan LEFT JOIN untuk menampilkan id_pelanggan, nm_pelanggan, id_pesan, tgl_pesan
MariaDB [sistem_pemesanan]> select pelanggan.id_pelanggan,pelanggan.nm_pelanggan,pesan.id_pesan,pesan.tgl_pesan
-> from pelanggan
-> left join pesan on pelanggan.id_pelanggan=pesan.id_pelanggan;
+--------------+--------------+----------+------------+
| id_pelanggan | nm_pelanggan | id_pesan | tgl_pesan |
+--------------+--------------+----------+------------+
| UAA00 | Abiyasa | 1 | 2020-10-28 |
| UAA02 | Baladewa | 2 | 2020-10-29 |
| UAA03 | Cakil | 3 | 2020-10-30 |
| UAA04 | Dasamuka | 4 | 2020-10-31 |
| UAA05 | Ekalawya | 5 | 2020-10-31 |
+--------------+--------------+----------+------------+
5 rows in set (0.076 sec)
3. Tampilkan semua field dari penggabungan 3 tabel yang dimungkinkan karena adanya relasi tabel! (tidak ada ketentuan minimal, semakin banyak tentu semakin baik jika benar)
MariaDB [sistem_pemesanan]> select pelanggan.id_pelanggan,pelanggan.nm_pelanggan,pesan.id_pesan,pesan.tgl_pesan
-> from pelanggan
-> left join pesan on pelanggan.id_pelanggan=pesan.id_pelanggan;
+--------------+--------------+----------+------------+
| id_pelanggan | nm_pelanggan | id_pesan | tgl_pesan |
+--------------+--------------+----------+------------+
| UAA00 | Abiyasa | 1 | 2020-10-28 |
| UAA02 | Baladewa | 2 | 2020-10-29 |
| UAA03 | Cakil | 3 | 2020-10-30 |
| UAA04 | Dasamuka | 4 | 2020-10-31 |
| UAA05 | Ekalawya | 5 | 2020-10-31 |
+--------------+--------------+----------+------------+
5 rows in set (0.076 sec)
MariaDB [sistem_pemesanan]> select pelanggan.id_pelanggan,pelanggan.nm_pelanggan,pelanggan.alamat,pelanggan.telepon,pelanggan.email,pesan.id_pesan,pesan.tgl_pesan,detil_pesan.id_produk,detil_pesan.jumlah,detil_pesan.harga
-> from pelanggan,pesan,detil_pesan
-> where pelanggan.id_pelanggan=pesan.id_pelanggan and pesan.id_pesan=detil_pesan.id_pesan;
+--------------+--------------+-----------+-------------+------------------------+----------+------------+-----------+--------+-------+
| id_pelanggan | nm_pelanggan | alamat | telepon | email | id_pesan | tgl_pesan | id_produk | jumlah | harga |
+--------------+--------------+-----------+-------------+------------------------+----------+------------+-----------+--------+-------+
| UAA00 | Abiyasa | Ngastino | 08111222333 | abiyasa@almaata.ac.id | 1 | 2020-10-28 | MIE00 | 3 | 6000 |
| UAA02 | Baladewa | Madura | 08222333444 | baladewa@almaata.ac.id | 2 | 2020-10-29 | ATK01 | 4 | 20000 |
| UAA03 | Cakil | Goa | 08333444555 | cakil@almaata.ac.id | 3 | 2020-10-30 | ATK01 | 5 | 37500 |
| UAA04 | Dasamuka | Ngalengka | 08444555666 | Dasamuka@almaata.ac.id | 4 | 2020-10-31 | ATK02 | 6 | 45000 |
+--------------+--------------+-----------+-------------+------------------------+----------+------------+-----------+--------+-------+
4 rows in set (0.109 sec)
4. Salinlah syntak berikut "SELECT pesan.id_pesan, pesan.tgl_pesan, SUM(detil_pesan.jumlah) as jumlah FROM pesan, detil_pesan WHERE pesan.id_pesan=detil_pesan.id_pesan GROUP BY id_pesan;" hasilnya apa dan jelaskan!
MariaDB [sistem_pemesanan]> select pesan.id_pesan,pesan.tgl_pesan,SUM(detil_pesan.jumlah) as jumlah from pesan,detil_pesan where pesan.id_pesan=detil_pesan.id_pesan group by id_pesan;
+----------+------------+--------+
| id_pesan | tgl_pesan | jumlah |
+----------+------------+--------+
| 1 | 2020-10-28 | 3 |
| 2 | 2020-10-29 | 4 |
| 3 | 2020-10-30 | 5 |
| 4 | 2020-10-31 | 6 |
+----------+------------+--------+
4 rows in set (0.151 sec)
5. Salinlah syntak berikut "SELECT id_pelanggan, nm_pelanggan FROM pelanggan WHERE id_pelanggan IN (SELECT id_pelanggan FROM pesan);" hasilnya apa dan jelaskan perhatikan dengan melihat tabel pelanggan.
MariaDB [sistem_pemesanan]> desc pelanggan;
+--------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| id_pelanggan | varchar(5) | NO | PRI | NULL | |
| nm_pelanggan | varchar(40) | NO | | NULL | |
| alamat | text | NO | | NULL | |
| telepon | varchar(20) | NO | | NULL | |
| email | varchar(50) | NO | | NULL | |
+--------------+-------------+------+-----+---------+-------+
5 rows in set (0.225 sec)
MariaDB [sistem_pemesanan]> select id_pelanggan,nm_pelanggan from pelanggan where id_pelanggan in (select id_pelanggan from pesan);
+--------------+--------------+
| id_pelanggan | nm_pelanggan |
+--------------+--------------+
| UAA00 | Abiyasa |
| UAA02 | Baladewa |
| UAA03 | Cakil |
| UAA04 | Dasamuka |
| UAA05 | Ekalawya |
+--------------+--------------+
5 rows in set (0.151 sec)
sekian jawaban uts saya, saya ucapkan terimakasih