Kamis, 05 Juli 2012

Cross Join, Natural / Inner Join, Outer Join

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')


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

Insert into buku values ('B0001','DOS','M.Urip','12001')
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

1 komentar: