Anda di halaman 1dari 3

DATABASE-SQL

1 of 3

MENAMPILKAN GABUNGAN BEBERAPA TABLE

Seringkali kali kita dihadapkan dengan permasalahan dalam menampilkan


beberapa table sekaligus untuk keperluan tertentu. Penggunaan JOIN dalam
query SELECT dapat menghasilkan tampilnya beberapa table untuk itu.

Untuk memudahkan pemahaman tentang JOIN berikut saya contohkan untuk


kasus sederhana data pengolahan barang (items). Dalam kasus ini kita
mempunyai dua buah table ( table items dan table purchase )
Berikut isi dari masing-masing table;

Table items Table purchase


Kode Nama Kode Qty
A100 Keyboard A100 125
A110 Mouse A210 250
A210 Speaker A220 100
A220 Monitor

Kemudian saya akan kenalkan beberapa perintah JOIN untuk memanipulasi


tampilan dari kedua table diatas.

1. CROSS JOIN
Cara pengungkapan hubungan antar table yang paling sederhana.
Dalam penggunaanya cross join diharuskan menuliskan kondisi. Jika tidak
akan didapat 12 baris dari perkalian 4 baris-items X 3 baris-purchase
(dalam kasus ini).

Ungkapanya adalah sebagai berikut:

Select * from items cross join purchase;

Maka akan tampil 12 set record.

Tetapi jika ungkapan kita beri sebuah kondisi, sebagai berikut;

Select * from items cross join purchase where items.kode=purchase.kode;

Maka hasil yang akan didapat adalah:

Kode Nama Kode Qty


A100 Keyboard A100 125
A210 Speaker A210 250
A220 Monitor A220 100

Last saved by KEINA


Created on 9/6/2007 10:33:00
DATABASE-SQL
2 of 3

2. INNER JOIN
Hampir samadengan cross join, namun penggunaan ON[kondisi] diharuskan
dalam penulisan INNER JOIN. Jika ON [kondisi] tidak di kondisikan akan
menyebabkan perintah tidak menampilkan data apapun karena error.

Ungkapanya adalah sebagai berikut:

Select * from items INNER JOIN purchase ON items.kode=purchase.kode;

3. STRAIGHT JOIN
Identik dengan cross join, namun pada straight join tidak dikenal klausa
WHERE untuk menyatakan kondisi yang ingin ditampilkan.

Ungkapannya adalah sebagai berikut;

Select * from items STRAIGHT JOIN purchase

4. LEFT [OUTER] JOIN


Digunakan menampilkan table disebelah kanannya (table purchase) dengan
NULL jika tidak terdapat hubungan antara table disebelah kiri (table
items).

Ungkapannya adalah sebagai berikut;

Select * from items LEFT JOIN purchase ON items.kode = purchase.kode;

Maka tampilan dari gabungan table diatas adalah sebagai berikut;

Kode Nama Kode Qty


A100 keyboard A100 125
A110 mouse NULL NULL
A210 speaker A210 250
A230 monitor A220 100

5. RIGHT [OUTER] JOIN


Kebalikan dari left [outer] join.

Untuk mencobanya tambahkan terlebih dahulu satu record pada purchase.


Saya maksudkan agar tampak bedanya.

Insert into purchase values (‘A330’,200);

Kemudian anda bisa melakukan right [outer] join.

Select * from items RIGHT JOIN purchase ON items.kode = purchase.kode;

Last saved by KEINA


Created on 9/6/2007 10:33:00
DATABASE-SQL
3 of 3

Maka anda akan mendapatkan tampilan gabungan dari table diatas sebagai
berikut;

kode nama kode qty


A100 keyboard A100 125
A210 speaker A120 250
A220 monitor A220 100
NULL NULL A330 200

6. NATURAL [RIGHT| LEFT |[OUTER]] JOIN


Untuk RIGHT OUTER JOIN samadengan RIGHT JOIN tanpa pernyataan
kondisi. Karena pernyataan tersebut secara automatic menganggap
bahwa kondisi yang dipakai adalah kedua table terdapat kesamaan.

Ungkapannya adalah sebagai berikut;

Select * from items NATURAL RIGHT JOIN purchase;

Dengan hasil:

kode nama kode qty


A100 keyboard A100 125
A210 speaker A210 250
A220 Monitor A220 100

Untuk LEFT OUTER JOIN samadengan LEFT JOIN tanpa pernyataan


kondisi.

Ungkapannya adalah sebagai berikut;

Select * from items NATURAL LEFT OUTER JOIN purchase;

Dengan hasil:

kode nama kode qty


A110 keyboard A100 125
A110 mouse NULL NULL
A210 speaker A210 250
A220 monitor A220 100

Last saved by KEINA


Created on 9/6/2007 10:33:00

Anda mungkin juga menyukai