basisdata ( query antar tabel...
TRANSCRIPT
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;
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.