Cross Join
Sebuah
penggabungan yang meliputi lebih dari satu tabel tanpa syarta apapun. Hasil
dari Cross Join akan menghasilkan produk Kartesian.
Natural / Inner Join
Join yang
menghasilkan baris – baris yang minimal ada sebuah baris di kedua tabel yang
sesuai dengan kondisi join, baris – baris yang tidak sesuai dengan sebuah baris
dari tabel lain.
Outer Join
Outer join
akan menghasilkan sebuah data dari sebuah tabel dan membatasi data dari tabel
lainnya. Terdapat 3 tipe Outer join yaitu Left Join, Right Join, dan Full Join.
Semua baris dari tabel sebelah kiri di acu dari sebuah Left Outer Join dan
semua baris dari tabel sebelah kanan di acu dengan Right Outer Join dan semua
baris dari kedua tabel dihasilkan oleh sebuah Full Outer Join.
Kegunaan
dari Outer join adalah untuk mencari record – record piatu, artinya record yang
ada di sebuah tabel tetapi tidak mempunyai pasangan di tabel lain.
Berikut ini adalah contoh dalam program dari fungsi – fungsi
di atas :
Program :
Create database Perpustakaan_saya
Use Perpustakaan_saya
Create table Penerbit (
Kd_Penerbit char (10) primary key,
Nama_Penerbit varchar (20))
select*from Penerbit
Insert into Penerbit values ('12001','Ganesha')
Insert into Penerbit values ('12002','Gramedia')
Use Perpustakaan_saya
Create table Penerbit (
Kd_Penerbit char (10) primary key,
Nama_Penerbit varchar (20))
select*from Penerbit
Insert into Penerbit values ('12001','Ganesha')
Insert into Penerbit values ('12002','Gramedia')
Kd_Penerbit
|
Nama_Penerbit
|
|
1
|
12001
|
Ganesha
|
2
|
12002
|
Gramedia
|
Create table Buku (
Kd_Buku char (10) primary key,
Judul varchar (20),
Pengarang varchar (20),
Kd_Penerbit char (10) references Penerbit (Kd_Penerbit))
select*from buku
Kd_Buku char (10) primary key,
Judul varchar (20),
Pengarang varchar (20),
Kd_Penerbit char (10) references Penerbit (Kd_Penerbit))
select*from buku
Insert into buku values ('B0001','DOS','M.Urip','12001')
Insert into buku values ('B0002','Fisika','Sutrisno','12002')
Insert into buku values ('B0002','Fisika','Sutrisno','12002')
Kd_Buku
|
Judul
|
Pengarang
|
Kd_Penerbit
|
|
1
|
B0001
|
DOS
|
M.Urip
|
12001
|
2
|
B0002
|
Fisika
|
Sutrisno
|
12002
|
1. Cross
Join Antara Tabel Buku dan Penerbit
Contoh :
Select*from Buku cross join
Penerbit
Tabel :
Kd_Buku
|
Judul
|
Pengarang
|
Kd_Penerbit
|
Kd_Penerbit
|
Nama_Penerbit
|
|
1
|
B0001
|
DOS
|
M.Urip
|
12001
|
12001
|
Ganesha
|
2
|
B0002
|
Fisika
|
Sutrisno
|
12002
|
12001
|
Ganesha
|
3
|
B0001
|
DOS
|
M.Urip
|
12001
|
12002
|
Gramedia
|
4
|
B0002
|
Fisika
|
Sutrisno
|
12002
|
12002
|
Gramedia
|
Tabel Buku
mempunyai 2 baris dan tabel Penerbit 2 baris maka hasil cross join adalah 4 baris.
2. Natural
Join / Inner Join
Contoh :
Select
b.Judul,b.Pengarang,p.Kd_Penerbit from Buku b.Inner Join Penerbit
p.On,b.Kd_Penerbit=p.Kd_Penerbit
Perintah di atas
akan membatasi kolom data yang tertumpuk. Perintah di atas dapat di ganti
dengan memakai Inner Join style baru yang memakai kondisi Where.
Contoh :
Select
b.Judul,b.Pengarang,p.Kd_Penerbit from Buku b.Penerbit p.Where
b.Kd_Penerbit=p.Kd_Penerbit
3. Left
Outer Join
Contoh :
Select
b.Judul,b.Pengarang,p.Kd_Penerbit from Buku b.Left Outer Join
Penerbit p.ON
b.Kd_Penerbit=p.Kd_Penerbit
4. Right
Outer Join
Contoh :
Select
b.Judul,b.Pengarang,p.Kd_Penerbit from Buku b.Right Outer Join
Penerbit p.ON
b.Kd_Penerbit=p.Kd_Penerbit
5. Full
Outer Join
Contoh :
Select
b.Judul,b.Pengarang,p.Kd_Penerbit from Buku b.Full Outer Join
Penerbit p.ON
b.Kd_Penerbit=p.Kd_Penerbit
jos
BalasHapus