DML (Data Manipulation Language) Select Join

 Mengenal Perintah DML Select Join Database


 syarat tabel yang bisa  menggunakan perintah join yaitu :

1. Dua (2) atau lebih tabel dapat menggunakan perintah DML SELECT JOIN, jika tabel-tabel tersebut berelasi. 

2. Tabel-tabel berelasi dengan menggunakan PK (primary key) dan FK (foreign key). Secara sederhana, PK adalah kolom utama pada suatu tabel, yang menjadi ciri khas tabel tersebut. 

3. PK membedakan data satu dengan data lainnya. FK adalah kolom PK yang masuk ke tabel lain. 

4. Dengan adanya PK dan FK, tabel-tabel dapat dibuat relasinya

  

Pada artikel ini, kita akan mengenal DML Query Select Join, perintah dalam select join ada  3 yaitu :

1. Outher Join merupakan perintah JOIN yang menggabungkan 2 atau lebih tabel dengan memprioritaskan letak tabel.

a. OUTER RIGHT JOIN, maka prioritas menampilkan data berada pada tabel sebelah kanan

b. sedangkan jika menggunakan perintah OUTER LEFTJOIN, maka prioritas menampilkan data berada pada tabel sebelah kiri.

2. Perintah INNER JOIN, merupakan perintah JOIN yang menggabungkan 2 atau lebih tabel dengan memprioritaskan data yang berelasi.

3. Perintah CROSS JOIN, merupakan perintah JOIN yang menggabungkan 2 atau lebih tabel, tanpa melihat apakah data dari dua atau lebih tabel tersebut saling berelasi atau tidak.


1. Praktek Database Peintah Select Join

a. membuat database baru ( sistem_pemesanan )

- login : mysql -u root -p

- membuat databases : create database sistem_pemesanan;

- menampilkan database : show databases;

- gunakan database yang kita buat : use sistem_pemesanan;


b. membuat 4 tabel yaitu tabel pelanggan,pesan,produk,dan faktur 

- membuat tabel pelanggan : create table pelanggan (

    -> id_pelanggan char(6),

    -> nm_pelanggan varchar(10),

    -> alamat varchar(12),

    -> telepon char(11),

    -> email char(25)

    -> );

- membuat tabel pesan : create table pesan (

    -> id_pesan char(2),

    -> id_pelanggan char(6),

    -> tgl_pesan date

    -> );

-membuat tabel produk : create table produk (

    -> id_produk char(6),

    -> nm_produk varchar(20),

    -> satuan char(3),

    -> harga int(5),

    -> stock int(4)

    -> );

-membuat tabel faktur : create table faktur (

    -> id_faktur char(6) ,

    -> id_pesan char(2),

    -> tgl_faktur date

    -> );


c. menampilkan tabel yang sudah di buat : show tables;


d. memasukkan data pada tabel pelanggan,pesan,produk dan faktur 

- data tabel pelanggan : insert into pelanggan ( id_pelanggan,nm_pelanggan,alamat,telepon,email) values
    -> ('UAA001',' Abiyasa','Ngastino','08111222333','abiyasa@almaata.ac.id'),
    -> ('UAA002','Baladewa','Madura','08222333444','baladewa@almaata.ac.id'),
    -> ('UAA003','Cakil','Goa','08333444555','cakil@almaata.ac.id'),
    -> ('UAA004','Dasamuka','Ngalengka','08444555666','dasamuka@almaata.ac.id'),
    -> ('UAA005','Ekalawya','Nishada','08555666777','ekalawya@almaata.ac.id');

- data tabel pesan : insert into pesan (id_pesan,id_pelanggan,tgl_pesan) values
    -> ('1','UAA001','2020-10-28'),
    -> ('2','UAA002','2020-10-29'),
    -> ('3','UAA003','2020-10-30'),
    -> ('4','UAA004','2020-10-31'),
    -> ('5','UAA005','2020-10-31');

- data tabel produk : insert into produk ( id_produk,nm_produk,satuan,harga,stock ) values
    -> ('MIE001','Indomie_Goreng ','PCS','2000','100'),
    -> ('MIE002','Sarimi_Goreng','PCS','1900','200'),
    -> ('ATK001','Pensil_2B','PCS','5000','50'),
    -> ('ATK002','Bolpoint_Standart ','PCS','7500','100');

- data tabel faktur :  insert into faktur ( id_faktur,id_pesan,tgl_faktur ) values
    -> ('INV001','1','2020-10-28'),
    -> ('INV002','2','2020-10-29'),
    -> ('INV003','3','2020-10-30'),
    -> ('INV004','4','2020-10-31');



e. menampilkan data yang telah di masukkan : select *from nama_tabel;





f. Menggunakan where : 
SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan FROM pelanggan, pesan WHERE pelanggan.id_pelanggan=pesan.id_pelanggan; )



g. Menggunakan inner join :
SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan FROM pelanggan INNER JOIN pesan ON pelanggan.id_pelanggan=pesan.id_pelanggan; )


h. menggabungkan tabel pesan dan faktur dengan menggunakan inner join :
select *from pesan
    -> inner join faktur
    -> on pesan.id_pesan = faktur.id_pesan;



i. Menggunakan left  : 
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; )


j. Ubahlah left di atas menjadi right, apa perbedannya?

SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan FROM pelanggan RIGHT JOIN pesan ON pelanggan.id_pelanggan=pesan.id_pelanggan;


perbedaan : jika dilihat darihasilnya tidak ada perbedaan, karena data yang dimasukkan semuanya saling berelasi, jikan ada data yang tidak ada relasi nanti hasilnya akan terletk pada hasil right join.

k. menggabungkan 3 tabel yaitu  pelanggan, pesan dan faktur : 
 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;



itulah sedikit pengenalan perintah DML select join dari saya, semoga dapat bermanfaat untuk teman - teman semua. Terimakasih

Komentar

Postingan populer dari blog ini

MySql : Membuat Tabel,Primary key dan Foreign key

UTS Database : DML ( Data Manipulation Language )