penggabungan beberapa table join (1)

Upload: ilham-al-asyi

Post on 29-Feb-2016

6 views

Category:

Documents


0 download

TRANSCRIPT

Penggabungan beberapa table

Penggabungan beberapa table INNER, LEFT, RIGHT, OUTERINNER JOINMenggabungkan 2 atau lebih table yang mempunyai kesamaan suatu atribut

Format 1. menggunakan sintak JOIN

SELECT tabel1.kolom1,tabel2.kolom2

FROM tabel1

INNER JOIN tabel2 ON tabel1.kolompenghubung=tabel2.kolompenghubung

Contoh :

SELECT buku.judul,kategori_buku.kategori

FROM buku

INNER JOIN kategori_buku ON buku.kategori_buku=kategori_buku.kode_kategori

Format 2, tidak menggunakan sintak JOIN

SELECT tabel1.kolom1,tabel2.kolom2

FROM tabel1,tabel2

WHERE tabel1.kolompenghubung=tabel2.kolompenghubung

Contoh :

SELECT buku.judul,kategori_buku.kategori

FROM buku,kategori_buku

WHERE buku.kategori_buku=kategori_buku.kode_kategori

mysql> SELECT buku.judul,kategori_buku.kategori

-> FROM buku,kategori_buku

-> WHERE buku.kategori_buku=kategori_buku.kode_kategori

-> ;

+--------------------------+-------------+

| judul | kategori |

+--------------------------+-------------+

| Ilmu alam disekitar kita | Ilmu Alam |

| Sosiologi kita | Ilmu SOsial |

| Dasar Pemrograman | Teknologi |

| Pemrograman Lanjut | Teknologi |

| Sastra Jawa | Sastra |

+--------------------------+-------------+

5 rows in set (0.00 sec)

mysql> SELECT buku.judul,kategori_buku.kategori

-> FROM buku

-> INNER JOIN kategori_buku ON buku.kategori_buku=kategori_buku.kode_katego

i

-> ;

+--------------------------+-------------+

| judul | kategori |

+--------------------------+-------------+

| Ilmu alam disekitar kita | Ilmu Alam |

| Sosiologi kita | Ilmu SOsial |

| Dasar Pemrograman | Teknologi |

| Pemrograman Lanjut | Teknologi |

| Sastra Jawa | Sastra |

+--------------------------+-------------+

5 rows in set (0.00 sec)

Menggunakan Alias

mysql> SELECT b.judul,k.kategori

-> FROM buku b,kategori_buku k

-> WHERE b.kategori_buku=k.kode_kategori;

+--------------------------+-------------+

| judul | kategori |

+--------------------------+-------------+

| Ilmu alam disekitar kita | Ilmu Alam |

| Sosiologi kita | Ilmu SOsial |

| Dasar Pemrograman | Teknologi |

| Pemrograman Lanjut | Teknologi |

| Sastra Jawa | Sastra |

+--------------------------+-------------+

5 rows in set (0.00 sec)

mysql> SELECT b.judul,k.kategori

-> FROM buku b

-> INNER JOIN kategori_buku k ON b.kategori_buku=k.kode_kategori;

+--------------------------+-------------+

| judul | kategori |

+--------------------------+-------------+

| Ilmu alam disekitar kita | Ilmu Alam |

| Sosiologi kita | Ilmu SOsial |

| Dasar Pemrograman | Teknologi |

| Pemrograman Lanjut | Teknologi |

| Sastra Jawa | Sastra |

+--------------------------+-------------+

5 rows in set (0.00 sec)

LEFT JOIN

Menggabungkan 2 atau lebih table berdasarkan table yang sebelah kiri, yang pertama disebutkan.

insert into buku values

('B06','Memasak itu asik','siti','merapi','2008','M','Baik','2009-01-05'),

('B07','Mengetahui Bakat Anak','setry','merbabu','2007','L','Baik','2010-01-05');insert into kategori_buku values

(H,Ilmu hukum),

(T,Ilmu Teknik),

(S,Ilmu Santet);

mysql> SELECT b.judul,k.kategori

-> FROM buku b

-> LEFT JOIN kategori_buku k ON b.kategori_buku=k.kode_kategori;

+--------------------------+-------------+

| judul | kategori |

+--------------------------+-------------+

| Dasar Pemrograman | Teknologi |

| Pemrograman Lanjut | Teknologi |

| Ilmu alam disekitar kita | Ilmu Alam |

| Sosiologi kita | Ilmu SOsial |

| Sastra Jawa | Sastra |

| Memasak itu asik | NULL |

| Mengetahui Bakat Anak | NULL |

+--------------------------+-------------+

7 rows in set (0.00 sec)

RIGHT JOIN

Menggabungkan 2 tabel atau lebih berdasarkan tabel sebelah kanan yaitu tabel yang disebutkan setelah JOIN.

mysql> SELECT b.judul,k.kategori

-> FROM buku b

-> RIGHT JOIN kategori_buku k ON b.kategori_buku=k.kode_kategori;

+--------------------------+-------------+

| judul | kategori |

+--------------------------+-------------+

| Ilmu alam disekitar kita | Ilmu Alam |

| Sosiologi kita | Ilmu SOsial |

| Dasar Pemrograman | Teknologi |

| Pemrograman Lanjut | Teknologi |

| Sastra Jawa | Sastra |

| NULL | Ilmu hukum |

| NULL | Ilmu Teknik |

| NULL | Ilmu Santet |

+--------------------------+-------------+

8 rows in set (0.00 sec)

LATIHAN DAN CONTOH.

Contoh : 1. Menampilkan nama anggota dan jenis anggotanya.?SELECT a.nama,j.jenis_anggotaFROM anggota aINNER JOIN jenis_anggota j ON a.jenis_anggota=j.kode_jenis+---------------------+--------------------+

| nama | jenis_anggota |

+---------------------+--------------------+

| Asih widyastuti | Anggota Biasa |

| Catur Wiyanti | Anggota Biasa |

| Halimatus Anita S | Anggota Luar Biasa |

| Muh. Yusron Al Amin | Anggota Luar Biasa |

| Ardian M Prastiawan | Pengurus |

| Tya | Pengurus |

+---------------------+--------------------+

2. Menampilkan nama anggota, sedang meminjam judul buku apa, dari tanggal berapa?SELECT a.nama,b.judul,p.tgl_pinjamFROM peminjaman pINNER JOIN anggota a ON a.nomor_anggota=p.nomor_anggotaINNER JOIN buku b ON b.kode_buku=p.kode_buku

+-------------------+--------------------------+------------+

| nama | judul | tgl_pinjam |

+-------------------+--------------------------+------------+

| Asih widyastuti | Dasar Pemrograman | 2010-03-01 |

| Asih widyastuti | Pemrograman Lanjut | 2010-03-01 |

| Catur Wiyanti | Ilmu alam disekitar kita | 2010-03-10 |

| Catur Wiyanti | Sosiologi kita | 2010-03-10 |

| Halimatus Anita S | Sastra Jawa | 2010-03-15 |

| Halimatus Anita S | Sastra Jawa | 2010-03-16 |

+-------------------+--------------------------+------------+

3. Menampilkan buku yang belom dikembalikan?SILAKAN DICOBA4. Menampilkan statistik nama anggota dan berapa buku yang dipinjam?SELECT a.nama,count(1) as jumlahFROM peminjaman pINNER JOIN anggota a ON a.nomor_anggota=p.nomor_anggotaGROUP BY p.nomor_anggota+-------------------+--------+

| nama | jumlah |

+-------------------+--------+

| Asih widyastuti | 2 |

| Catur Wiyanti | 2 |

| Halimatus Anita S | 2 |

+-------------------+--------+

5. Menampilkan statistik judul buku dan berapa kali dipinjam?SILAKAN DICOBA6. Menampilkan kategori buku dan jumlah denda?SELECT k.kategori,sum(p.denda) as jumlah_dendaFROM peminjaman p

INNER JOIN buku b ON p.kode_buku=b.kode_buku

INNER JOIN kategori_buku k ON b.kategori_buku=k.kode_kategoriGROUP BY k.kategori;

+-------------+--------------+

| kategori | jumlah_denda |

+-------------+--------------+

| Ilmu Alam | 0 |

| Ilmu SOsial | 0 |

| Sastra | 3000 |

| Teknologi | 1000 |

+-------------+--------------+

7. Menampilkan jenis anggota dan jumlah denda?SILAKAN DICOBA