UTS Database : DML ( Data Manipulation Language )

NAMA    : VINA DHAMAYANTI

NIM        :  213100210

UTS DATABASE

Keterangan

1. Kerjakan di dalam database Sistem_Pemesanan!

2. buatlah tabel baru dengan nama detil_pesan

3. isikan data berikut pada 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 

1. Lakukan INNER JOIN dari semua tabel yang bisa dilakukkan inner join! (tidak ada ketentuan      minimal, semakin banyak tentu semakin baik jika benar)

2. Lakukan LEFT JOIN untuk menampilkan id_pelanggan, nm_pelanggan, id_pesan, tgl_pesan

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)

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!

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.


jawab : 

1. gunakan database sistem_pemesanan yang sudah kita buat pada artikel sebelumnya 

a. login : mysql -u root -p;

b. menampilkan database : show databases;

c. gunakan database sistem_pemesanan : use sistem_pemesanan;


2. Membuat tabel detil_pesan  : create table detil_pesan (
    -> id_pesan char(2),
    -> id_produk char(6),
    -> jumlah int(3),
    -> harga int(5)
    -> );
   menampilkan tabel yang sudah di buat : show tables;



3. masukkan data pada tabel detil_pesan : 
    ketikkan :
    insert into detil_pesan (id_pesan,id_produk,jumlah,harga) values
    -> ('1','MIE001','3','6000'),
    -> ('2','ATK001','4','20000'),
    -> ('3','ATK002','5','37500'),
    -> ('4','ATK002','6','45000');
    menampilkan data yang sudah dimasukkan : select *from detil_pesan



4. melakukan inner join pada tabel yang sudah dibuat 

a. gabungan tabel pesan dengan tabel faktur

perintahnya : 

select *from pesan
    -> inner join faktur
    -> on pesan.id_pesan = faktur.id_pesan;



b. gabungan tabel pesan dan pelanggan 

perintahnya :

select *from pesan

    -> inner join pelanggan

    -> on pesan.id_pelanggan = pelanggan.id_pelanggan;


c. gabungan tabel produk dan tabel detil_pesan

perintahnya : 

select *from produk

    -> inner join detil_pesan

    -> on produk.id_produk = detil_pesan.id_produk;


d. gabungan tabel pesan dan tabel detil_pesan 

perintahnya :

 select *from pesan

    -> inner join detil_pesan

    -> on pesan.id_pesan = detil_pesan.id_pesan;


penjelasan : tabel yang bisa di gabungkan yaitu tabel yang saling berelasi.
5.  Lakukan LEFT JOIN untuk menampilkan id_pelanggan, nm_pelanggan, id_pesan, tgl_pesan

perintahnya : 

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;


6. menggabungkan 3 tabel yang saling berelasi 

a. gabungan tabel pelanggan,pesan,faktur

perintahnya :

select pelanggan.id_pelanggan,pelanggan.nm_pelanggan,pelanggan.alamat,pelanggan.telepon,pelanggan.email,pesan.id_pesan,pesan.tgl_pesan,faktur.id_faktur,faktur.tgl_faktur from pesan inner join pelanggan on pesan.id_pelanggan = pelanggan.id_pelanggan inner join faktur on pesan.id_pesan = faktur.id_pesan;


b. gabungan tabel pesan,produk,detil_jual 

perintahnya:

select pesan.tgl_pesan,produk.nm_produk,produk.satuan,produk.harga,produk.stock,detil_pesan.jumlah from pesan inner join detil_pesan on pesan.id_pesan = detil_pesan.id_pesan inner join produk on detil_pesan.id_produk = produk.id_produk;


c. gabungan tabel pesan,faktur dan detil_jual

perintahnya :

select pesan.id_pesan, pesan.id_pelanggan,pesan.tgl_pesan,faktur.id_faktur,faktur.tgl_faktur,detil_pesan.id_produk,detil_pesan.jumlah,detil_pesan.harga from pesan inner join faktur on pesan.id_pesan = faktur.id_pesan inner join detil_pesan on faktur.id_pesan = detil_pesan.id_pesan;


d. gabungan tabel pelanggan,pesan dan detil_jual

perintahnya :

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 inner join pesan on pelanggan.id_pelanggan = pesan.id_pelanggan inner join detil_pesan on pesan.id_pesan = detil_pesan.id_pesan;


7. 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!


penjelasan : perintah menggunakan perintah grup by dan sum berfungsi agar jumlah barang ditampilkan per-transaksi (pemesanan)


8.  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.


penjelasan : perintah IN digunakan untuk pencarian data menggunakan lebih dari satu filter pada perintah Where,sehingga IN dalam perintah diatas yaitu menampilkan hasil pencarian id_pelanggan dan nm_pelanggan dari perintah where.




Komentar

Postingan populer dari blog ini

MySql : Membuat Tabel,Primary key dan Foreign key