modul 7.doc

14
PENDAHULUAN Latar Belakang Dalam manajemen basis data, ada kalanya untuk mendapatkan data yang merupakan gabungan dari hasil 2 atau lebih query dari table yang memiliki fields yang sama. Dan juga kadang kita membutuhkan data yang memenuhi beberapa kondisi yang kita tentukan. MySQL menyediakan operator untuk operasi seperti yang tersebut diatas, yaitu operator UNION dan IN. Pada laporan praktikum ini akan dibahas mengenai bagaimana menggunakan operator UNION dan IN untuk mendapatkan data yang kita inginkan. Tujuan Dapat memahami sintaks perintah pada MySQL untuk melakukan SELECT dari beberapa table dengan operator UNION dan IN. 1

Upload: joy-sipahutar

Post on 01-Dec-2015

78 views

Category:

Documents


0 download

DESCRIPTION

Modul 7.doc

TRANSCRIPT

PENDAHULUAN

Latar Belakang

Dalam manajemen basis data, ada kalanya untuk mendapatkan data yang merupakan gabungan dari hasil 2 atau lebih query dari table yang memiliki fields yang sama. Dan juga kadang kita membutuhkan data yang memenuhi beberapa kondisi yang kita tentukan. MySQL menyediakan operator untuk operasi seperti yang tersebut diatas, yaitu operator UNION dan IN.

Pada laporan praktikum ini akan dibahas mengenai bagaimana menggunakan operator UNION dan IN untuk mendapatkan data yang kita inginkan.

Tujuan

Dapat memahami sintaks perintah pada MySQL untuk melakukan SELECT dari beberapa table dengan operator UNION dan IN.

1

TEORI

1. UNION

MySQL UNION adalah statemen yang mengkombinasi dua buah atau lebih resultset dari multi sql statemen SELCT sehingga menjadi satu buat resultset. UNION statemen memilki beberapa ketentuan sebagai berikut :

a. Jumlah kolom/filed dari setia statemen SELECT harus sama;

b. Tipe data kolom/field dari setiap statemen SELECT harus kompatibel.

Secara default statemen UNION akan menghapus semua record duplikat dari setresult. Apabila anda iingin record duplikat tetap ditampilkan maka pada resultset tuliskan secara explicit UNION ALL.

Format Penulisan :

SELECT [nama kolom1],[nama kolom2],dst FROM [nama tabel1]

UNION

SELECT [nama kolom 1],[nama kolom2], dst FROM [nama tabel2];

Contoh :

Query :

SELECT kota FROM table_pelanggan

UNION

SELECT kota FROM table_suplier;

2

Output :

2. IN

Operator IN memungkinkan Anda untuk menentukan beberapa nilai dalam WHERE clause.

Format Penulisan :

SELECT [nama kolom1],[nama kolom2],dst

FROM [nama table]

WHERE [nama kolom] IN ([nilai1],[nilai2],…);

Contoh :

Query :

SELECT * FROM table_buku WHERE harga IN (Gramedia, Andi);

Output :

3

HASIL DAN PEMBAHASAN

A. Hasil Percobaan

Pada modul 7 ini terdapat pecobaan select data dengan bantuan

operasi UNION dan IN sebagai berikut :

Percobaan 1 : Membuat database prak7 beserta isi tabel terlebih

dahulu

4

Hasil dari tabel_pelanggan :

Hasil dari tabel_suplier :

Percobaan 2 : SELECT menggunakan operator UNIONMenampilkan seluruh kota yang ada pada tabel_pelanggan dan tabel_suplier.

5

Dengan menggunakan tampilan GUI sqlyog :

Percobaan 3 : SELECT menggunakan operator INMenampilkan seluruh data pada tabel_pelanggan dengan syarat provinsi bali atau jawa barat.

6

Dengan menggunakan tampilan GUI sqlyog :

B. Analisis Hasil Percobaan

Q1. Apakah perbedaan UNION dengan JOIN ?

Jawaban :Perbedaan UNION dengan JOIN yaitu , jika pada UNION jumlah kolom/field dari setiap statemen SELECT harus sama . Sedangkan JOIN , jumlah baris dari kolom/field yang akan dijoinkan tidak harus sama , tetapi nanti jika berbeda , akan menghasilkan nilai NULL.

Q2. Pada saat kondisi seperti apa operator OR dapat digantikan dengan IN ?

Jawaban :Kondisi yang memungkinkan operator OR dapat digantikan dengan IN yaitu jika kita akan menyeleksi sebuah database dan menentukan beberapa nilai. Seperti misalnya kita akan menyeleksi data yang memiliki alamat denpasar dan bandung.

7

- SELECT menggunakan OR :

- SELECT menggunakan IN :

8

SELECT [nama kolom1],[nama kolom2],dstFROM [nama tabel] WHERE alamat=’Denpasar’ OR alamat=’Bandung’;

SELECT [nama kolom1],[nama kolom2],dstFROM [nama tabel] WHERE alamat IN (’Denpasar’ , ’Bandung’);

KESIMPULAN

Dari laporan praktikum ini pada pembahasan mengenai teori - teori dan hasil dari percobaan – percobaan di atas, maka dapat disimpulkan administrator dapat menggunakan operator UNION dan IN sebagai berikut :

Dengan menggunakan operator UNION dapat menggabungkan hasil dari beberapa query dan menghasilkan hasil yang baru dimana jika ada data yang sama akan di hapus salah satunya, dan jika ingin adanya perulangan data dalam hasilnya maka dapat menggunakan operator UNION ALL.

Dengan menggunakan operator IN dapat memberikan beberapa nilai kondisi dalam klausa WHERE.

9

DAFTAR PUSTAKA

Arbie,2004, “Manajemen Database dengan MYSQL”. Yogyakarta: Penerbit Andi Yogyakarta.

Yakub, 2008, “ Sistem Basis Data : Tutorial Konsep “. Graha Ilmu: Yogyakarta.

Suja, Imam, 2005, ”Pemrograman SQL dan Database Server MySQL”.Yogyakarta.

2013.Modul 5 Praktikum Basis Data .Jurusan Ilmu Komputer. Universitas Udayana

MySQL Server Documentation, http://dev.mysql.com

MySQL Tutorials, http://www.devshed.com

10

LAMPIRAN

1. Buatlah database dengan nama “prak7”.

CREATE DATABASE prak7;

2. Buatlah database yang berisi tabel beserta recordnya sesuai dengan materi diatas yakni : tabel_suplier dan tabel_pelanggan.

CREATE TABLE `tabel_pelanggan` (  `id_pelanggan` int(11) NOT NULL,  `nama_pelanggan` varchar(50) DEFAULT NULL,  `alamat` varchar(50) DEFAULT NULL,  `kota` varchar(50) DEFAULT NULL,  `provinsi` varchar(50) DEFAULT NULL,  PRIMARY KEY (`id_pelanggan`));

INSERT INTO table_pelangganVALUES (1,’isaraja’,’jalan ponegoro’,’medan’,’sumatera utara),(2,’mikha’,’jalan ponegoro’,’bandung’,’jawa barat’),(3,’novita dewi’,’jalan patimura’,’badung’,’bali’),(4,’fatin’,’jalan teuku umar’,’surabaya’,’jawa timur’),(5,’seena’,’jalan hasanudin’,’padang’,’sumatera barat’);

CREATE TABLE `tabel_suplier` (  `id_suplier` int(11) NOT NULL,  `nama_suplier` varchar(50) DEFAULT NULL,  `alamat` varchar(50) DEFAULT NULL,  `kota` varchar(50) DEFAULT NULL,  `provinsi` varchar(50) DEFAULT NULL,  PRIMARY KEY (`id_suplier`));

INSERT INTO table_suplier VALUES(1,’paloma’,’jalan angkasa’,’denpasar’,’bali’),(2,’gandaria’,’jalan patimura’,’sibolga’,’sumatera utara’),(3,’metro’,’jalan teuku umar’,’bandung’,’jawa barat’),(4,’global’,’jalan salwana’,’bukittinggi’,’sumatera barat’),(5,’mnc’,’jalan werdapura’,’denpasar’,’bali’);

11

Hasil dari tabel_pelanggan :

Hasil dari tabel_suplier :

3. Tampilkan jumlah kota dari tabel_pelanggan dan tabel_suplier.

SELECT COUNT(*)

FROM(SELECT kota FROM tabel_pelanggan UNION SELECT kota FROM tabel_suplier)

AS kota_gabungan;

Hasil :

4. Tampilkan jumlah provinsi dari tabel_pelanggan dan tabel_suplier.

SELECT COUNT(*)

FROM(SELECT provinsi FROM tabel_pelanggan UNION SELECT provinsi FROM tabel_suplier)

AS kota_gabungan;

Hasil :

12

5. Tampilkan nama pelanggan dan suplier yang beralamat jalan ponegoro, jalan teuku umar, jalan patimura dengan menggunakan IN clause.

SELECT nama_pelanggan AS nama, alamat FROM tabel_pelanggan

WHERE alamat IN ('jalan ponegoro','jalan teuku umar','jalan patimura')

UNION

SELECT nama_suplier AS nama, alamat FROM tabel_suplier

WHERE alamat IN ('jalan ponegoro','jalan teuku umar','jalan patimura');

Hasil :

13