basisdata ( query antar tabel...

26
BASISDATA ( QUERY ANTAR TABEL )

Upload: others

Post on 11-Jan-2020

26 views

Category:

Documents


0 download

TRANSCRIPT

BASISDATA( QUERY ANTAR TABEL )

Pendahuluan

Sql mempunyai kemampuan untuk menggabungkan dua buah

tabel atau lebih guna membentuk informasi.

Prosesnya disebut dengan Join.

1. Query dengan dua buah tabel.

Untuk memahami bagaimana menggabungkan dua buah tabel

berikut adalah sebagai contoh :

Select main.id_bin,

film.judul,

main.peran

From main,film

where main.kode_film = film.kode_film;

Beberapa hal yang perlu diperhatikan pada query antar tabel ;

a. Setiap kolom disebutkan dengan bentuk: nama_tabel.nama_kolom.

b. Tabel yang terlibat dalam query perlu disebutkan dalam klausa From dengan antar tabel dipisah dengan tanda koma (,)

c. Kondisi dalam klausa Where menentukan macam join yang terbentuk

2. Menggunakan Alias. Nama tabel yang digunakan dalam query antar tabel bisa diberi nama

alias.

Bentuk pemberian nama alias ;

Select alias1.kolom, alias2. kolom

from tabel1 alias1, tabel2 alias2

where kondisi

contoh :

Select main.id_bin,

film.judul,

main.peran

From main,film

where main.kode_film = film.kode_film;

Dapat ditulis menjadi

Select m.id_bin,

fi.judul,

m.peran

From m,f

where m.kode_film = f.kode_film;

3. Perkalian Kartesian

Bentuk paling sederhana dari penggabungan dua buah tabel akan membentuk perkalian kartesian.

Bisa juga disebut Cross Join atua Full join.

Hal ini diperoleh kalau kalusa where tidak disebutkan

A B

1 2

3 4

X Y

5 6

7 8

Tabel1 Tabel 2

Jikz dilakukan operasi berikut :

Select *

from tabel1,tabel2 ;

Maka hasilnya menjadi

A B X Y

1 2 5 6

3 4 5 6

1 2 7 8

3 4 7 8

Dalam prakteknya, operasi ini jarang digunakan dan dapat

menimbulkan Proses yang sangat lama sekiranya data dari

masing-masing tabel sangat besar

4. Equijoin dan Non-Equijoin.

Yang disebut dengan equijoin adalah penggabungan antar tabel yang menggunakan operator sama dengan(=) pada kondisi dalam klausa WHERE untuk membandingkan satu kolom dengan kolom lainnya.

Bentuk yang kompleks ditunjukkan pada contoh berikut ;

Select infoprib.nama,

film.judul,

main.peran

from infoprib,main,film

where main.kode_filom=film.kode_film AND

main.id_bin=infoprib.id_bin

contoh :

main.kode_film=film.kode_filom

digunakan untuk menghubungkan tabel main dengan film

dan kondisi

Main.id_bin=infoprib.id_bin

5. Self-Join. Self-Join merupakan upaya penggabungan dari tabel yang sama.

Contoh self-join yaitu untuk memperoleh pasangan bintang film

pria dan bintang film wanita yang terdapat pada tabel infoprib.

Cara melakukannya adalah seperti berikut :

Bentuk pemberian nama alias ;

Select x.nama, y.nama

from infoprib x, infoprib y

where x.sex =‘P’ AND y.sex =‘W’;

6. Operator Union.

Operator UNION berguna untuk menggabungkan hasil dari dua buah query.

Contoh dua tabel ditolak dan diterima ;

no_uji nama alasan

1 Yuyun -

2 Farkhan -

5 Karun -

6 Sita Devi -

{4 rows}

no_uji nama

2 Kartika

4 Edi Putra

7 Johan

8 Friska

9 Rukmana

10 Santosa

Select no_uji,nama

From ditolak

UNION

Select no_uji, nama

From diterima;

no_uji nama

1 Yuyun

10 Santosa

2 Kartika

3 Farkhan

4 Edi Putra

5 Karun

6 Sita Devi

7 Johan

8 Friska

9 Rukmana

{10 rows }

Id_bin

Nama

Tgl_lahir

sex

Id_bin

Kode_film

peranKunci

primer

Kunci tamu

Terhadap

infoprib

Menyatakan

hubungan

antartabel

Select infoprib.nama,

main.kode_film,

main.peran

From infoprib, main

WHERE infoprib.id_bin=main.id_bin

Select infoprib.nama, main.kode_film, main.peran

From infoprib, main

WHERE infoprib.id_bin=main.id_bin

Id_sales

Nama_sales

kota

Id_pelanggan

Nama_pelang

Kota

Id_sales

Kunci

primer

Kunci tamu

Terhadap

penjual

Select penjual.nama_sales, pelanggan.nama_pelang

From salesman, pelanggan

WHERE salesman.kota=pelanggan.kota

salesman pelangga

n

7. Operator INTERSECT. Operator INTERSECT berguna untuk memperoleh baris-baris

yang terdapat pada kedua tabel. Contoh operator seperti berikut :

SELECT hewan

from hewanair

INTERSECT

SELECT hewan

FROM hewandrt;

8. Operator EXCEPT/MINUS. Jika terdapat tabel A dan B, operasi A EXCEPT B akan

menghasilkan semua yang ada pada A tetapi tidak terdapat pada B.

Contoh :

SELECT hewan

FROM hewanair

EXCEPT

SELECT hewan

FROM hewandrt;

Perlu diketahui, A EXCEPT B dan B EXCEPT A memberikan

hasil yang berbeda.

Contoh :

SELECT hewan

FROM hewandrt

EXCEPT

SELECT hewan

FROM hewanair;

MENGENAL OPERATOR JOIN

Pendahuluan Bab ini membahas sejumlah operator JOIN yang disediakan

pada sistem yang mengikuti SQL92, seperti CROSS JOIN,

NATURAL JOIN, LEFT OUTER JOIN, dan

1. Operator CROSS JOIN.

Operator CROSS JOIN berguna untuk melakukan operasi

cross join atau perkalian kartesian. Kaidah pemakaiannya

dalam kluasa FROM :

tabelA CROSS JOIN tabelB

Contoh :

SELECT *

FROM tabel1 CROSS JOIN tabel2;

a b x y

1 2 5 6

3 4 5 6

1 2 7 8

3 4 7 8

{4 rows}

• Pernyataan diatas identik dengan pernyatan :

SELECT *

FROM tabel1, tabel2;

2. Operator NATURAL JOIN. Operator NATURAL JOIN akan melakukan operasi equijoin

dengan memperlakukan nama-nama kolom yang sama

sebagai kolom penghubung antar tabel.

contoh :

SELECT infoprib.id_bin,

infoprib.nama,

main.id_bin,

main.kode_film

From infoprib NATURAL JOIN main;

Perintah diatas identik dengan :

SELECT infoprib.id_bin,

infoprib.nama,

main.id_bin,

main.kode_film

FROM infoprib, main

WHERE infoprib.id_bin = main.id_bin

Operator NATURAL JOIN menyebutkan kondisi

infoprib.id_bin = main.id_bin

3. Operator Join yang lain.

Operator – operator join yang lain adalah sebagai berikut :

LEFT OUTER JOIN

Bila baris pada tabel yang terletak di sebelah kiri operator ini ada

yang tidak memiliki pasangan dengan tabel yang terletak di kanan

operator ini, baris ini disertakan dalam hasil penggabungan.

RIGHT OUTER JOIN

Merupakan kebalikan dari LEFT OUTER JOIN. Bila baris pada tabel yang terletak di sebelah kanan operator ini ada yang tidak memiliki pasangan dengan tabel yang terletak di kiri operator ini, baris ini tetap disertakan dalam hasil penggabungan.

FULL OUTER JOIN

Gabungan dari LEFT OUTER JOIN dan RIGHT OUTER JOIN.

UNION JOIN

Menggabungkan kedua tabel dengan kolom pasangannya akan diberi nilai NULL.

Bila tabel pertama berisi N1 baris dan tabel kedua berisi N2 baris maka hasilnya berupa N1+N2 baris.

TERIMA KASIH