- Back to Home »
- My SQL awal (2)
Posted by : Unknown
Sabtu, 02 Januari 2016
TUGAS 02
PRAKTIKUM SISTEM BASIS DATA
Disusun oleh :
NAMA : Muhammad Fahrizal Farid (NIM : 141051002)
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
INSTITUT SAINS & TEKNOLOGI AKPRIND
YOGYAKARTA
2015
Menggabungkan Tabel MySql.
Sebelumnya cek database yang sebelumnya sudah dibuat.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| cdcol |
| mysql |
| penjualan |
| performance_schema |
| phpmyadmin |
| test |
| webauth |
+--------------------+
8 rows in set (0.11 sec)
Database yang akan digunakan adalah penjualan.
Sebelum lanjoet Tujuan dari menggabungkan tabel adalah untuk menyajikan informasi secara lebih detail. Contohnya dari table penjualan dan table pelanggan, tujuan kita adalah menyajikan informasi barang dank kode_pelanggan yang memiliki transaksi pada table nota. Jadi dengan adanya fitur Join pada MySql memudahkan untuk mendapatkan informasi yang sedetail mungkin.
- Pertama-tama lihat table yang tersedia atau yang sudah dibuat pada database penjualan.
mysql> show tables;
+---------------------+
| Tables_in_penjualan |
+---------------------+
| t_barang |
| t_nota |
| t_pelanggan |
+---------------------+
3 rows in set (0.05 sec)
- Setelah mengetahui tablenya, adakalany mengetahui record pada setiap table.
- Table t_barang.
mysql> desc t_barang;
+-------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| kode_barang | varchar(8) | NO | PRI | NULL | |
| nama_barang | varchar(50) | YES | | NULL | |
| harga | int(50) | YES | | NULL | |
+-------------+-------------+------+-----+---------+-------+
3 rows in set (0.17 sec)
mysql> select *from t_barang;
+-------------+----------------+-------+
| kode_barang | nama_barang | harga |
+-------------+----------------+-------+
| RG18 | Mouse Logitech | 40000 |
| RG19 | Mouse Comic | 20000 |
| RG21 | Coolpad | 30000 |
+-------------+----------------+-------+
3 rows in set (0.06 sec)
- Table t_nota.
mysql> desc t_nota;
+----------------+------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------+------------+------+-----+---------+-------+
| no_nota | varchar(8) | NO | PRI | NULL | |
| kode_pelanggan | varchar(8) | YES | | NULL | |
| kode_barang | varchar(8) | YES | | NULL | |
| jumlah | int(50) | YES | | NULL | |
+----------------+------------+------+-----+---------+-------+
4 rows in set (0.09 sec)
mysql> select *from t_nota;
+---------+----------------+-------------+--------+
| no_nota | kode_pelanggan | kode_barang | jumlah |
+---------+----------------+-------------+--------+
| N0011 | 01 | RG18 | 9 |
| N0015 | 03 | RG19 | 4 |
| N0016 | 02 | RG21 | 3 |
+---------+----------------+-------------+--------+
3 rows in set (0.05 sec)
- Table t_pelanggan.
mysql> desc t_pelanggan;
+----------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------+-------------+------+-----+---------+-------+
| kode_pelanggan | varchar(8) | NO | PRI | NULL | |
| nama_pelanggan | varchar(50) | YES | | NULL | |
| alamat | varchar(50) | YES | | NULL | |
+----------------+-------------+------+-----+---------+-------+
3 rows in set (0.01 sec)
mysql> select *from t_pelanggan;
+----------------+----------------+------------------+
| kode_pelanggan | nama_pelanggan | alamat |
+----------------+----------------+------------------+
| 01 | Agus | Jl Mangga |
| 02 | Rizal | Jl tribrata no 6 |
| 03 | Yolly Setiawan | Jl Kalisahak |
+----------------+----------------+------------------+
3 rows in set (0.03 sec)
- Selanjutnya memikirkan informasi yang nantinya sangat dibutuhkan dari penggabungan table. Semisal informasi yang dibutuhkan adalah informasi pelanggan dan notanya (Cross Join).
mysql> select *from t_pelanggan, t_nota;
+----------------+----------------+------------------+---------+----------------
+-------------+--------+
| kode_pelanggan | nama_pelanggan | alamat | no_nota | kode_pelanggan
| kode_barang | jumlah |
+----------------+----------------+------------------+---------+----------------
+-------------+--------+
| 01 | Agus | Jl Mangga | N0011 | 01
| RG18 | 9 |
| 02 | Rizal | Jl tribrata no 6 | N0011 | 01
| RG18 | 9 |
| 03 | Yolly Setiawan | Jl Kalisahak | N0011 | 01
| RG18 | 9 |
| 01 | Agus | Jl Mangga | N0015 | 03
| RG19 | 4 |
| 02 | Rizal | Jl tribrata no 6 | N0015 | 03
| RG19 | 4 |
| 03 | Yolly Setiawan | Jl Kalisahak | N0015 | 03
| RG19 | 4 |
| 01 | Agus | Jl Mangga | N0016 | 02
| RG21 | 3 |
| 02 | Rizal | Jl tribrata no 6 | N0016 | 02
| RG21 | 3 |
| 03 | Yolly Setiawan | Jl Kalisahak | N0016 | 02
| RG21 | 3 |
+----------------+----------------+------------------+---------+----------------
+-------------+--------+
9 rows in set (0.02 sec)
- Jika ingin menampilkan informasi dari beberapa table dengan membandingkan nilai yang sama antara dua buah kolom. T_nota
Sebelum menggunakan inner join, sebelumnya buat table nota_join terlebih dahulu yang dimana untuk menerapkan join.
mysql> create table nota_join as (select*from t_nota);
Query OK, 3 rows affected (0.45 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> select*from nota_join;
+---------+----------------+-------------+--------+
| no_nota | kode_pelanggan | kode_barang | jumlah |
+---------+----------------+-------------+--------+
| N0011 | 01 | RG18 | 9 |
| N0015 | 03 | RG19 | 4 |
| N0016 | 02 | RG21 | 3 |
+---------+----------------+-------------+--------+
3 rows in set (0.00 sec)
mysql> select*from nota_join inner join t_nota using (no_nota);
+---------+----------------+-------------+--------+----------------+------------
-+--------+
| no_nota | kode_pelanggan | kode_barang | jumlah | kode_pelanggan | kode_barang
| jumlah |
+---------+----------------+-------------+--------+----------------+------------
-+--------+
| N0011 | 01 | RG18 | 9 | 01 | RG18
| 9 |
| N0015 | 03 | RG19 | 4 | 03 | RG19
| 4 |
| N0016 | 02 | RG21 | 3 | 02 | RG21
| 3 |
+---------+----------------+-------------+--------+----------------+------------
-+--------+
3 rows in set (0.09 sec)
Kesimpulan :
Di dalam MySQL, kata INNER JOIN dapat diganti dengan CROSS JOIN, atau hanya JOIN saja. Ketiga kata kunci ini memiliki fungsi yang sama. MySQL menyediakannya agar dapat kompatible dengan SQLdari RDBMS lainnya seperti ORACLE dan MS SQL.