A. CROSS JOIN
Sebuah penggabungan yang
meliputi dari 1 table tanpa syarat apapun hasil dari cross join akan
menghasilakan produk kartesian.
B. Natural / innerjoin
Join yang menghasilakan
baris-baris yang minimal ada sebuah baris di kedua table yang sesuai dengan
kondisi join, baris-baris yang tidak sesuai dengan sebuah baris dari table
lain.
C. OUTER JOIN
Autor join akan
menghasilkan sebuah data dari suatu table dan membatasi table dari table
lainnya terdapat tiga tipe outer join yaitu :
left join, right joint, dan full join.
Semuah baris dari table sebelah kiri diacu dengan sebuah left autor join,dan
semuah dari table sebelah kanan diacu dengan right auter join, semua baris dari
kedua table di hasilakn oleh sebuah full aoter join.
Kegunaan dari auter join
adalah untuk mencari record – record piatu , artinya record yang ada di sebuah
table tetapi tidak mempunyai pasangan di table lain
1.
Cross join antara table buku dengan penerbit
Contoh :
Select*from
buku cross join penerbit, jika table
buku mempunyai 4 baris dan table penerbit 4 baris maka hasil cross join adalah
16 baris.
2.
Natural join / inner join
Contoh :
Select
b.judul, b.pengarang, p.kode penerbit from buku b inner join
Penrbit p on. B. kode_penerbit = p.kode_penerbit
Perintah diatas akan membatasi kolom data yang
tertumpuk. Perinta diatas dapat diganti dengan memakai inner join style baru
yang memakai kondisi.
Where :
Select b.judul, b.pengarang, p. kode_penerbit from buku
b. penerbit p where b. kode_penerbit = p.kode_penerbit
3.
Left auter join
Contoh :
Select
b. judul, b.pengarang, p.kode penerbit from buku b. left outer join penerbit p
on b.kode_penerbit = p.kode_penerbit
4.
Right outer join
Contoh :
Select
b.judul, b.pengarang ,p.kode penerbit from buku b.right outer join penerbit p
on b.kode_penerbit +p.kode_penrbit
5.
Full outer join
Contoh :
Select
b.judul, b.pengarang, p.kode_penerbit from buku b.full outer join penerbit p on
b.kode_penerbit = p.kode_penerbit
Contoh kasus :
Langkah pertama
adalah dengan membuat relasi many to one
create database
perpustakaan
use perpustakaan
create table
penerbit(
kd_penerbit char
(3)primary key,
nmapenerbit varchar (20))
select*from penerbit
insert into
penerbit values
('123','erlangga')
insert into
penerbit values
('124','surya abadi')
select*from penerbit
create table
bukuu (
kd_buku char
(3)primary key,
pengarang varchar
(30),
judulbuku varchar
(20),
kd_penerbit char
(3)references penerbit(kd_penerbit))
select*from bukuu
insert into
bukuu values
('130','andi','delphi','123')
insert into
bukuu values
('131','aliudin','database','124')
1.
Jika kita mengunkan cross join antara tabel buku dengan
penerbit maka akan muncul seperti table dibawa ini
select*from buku cross join penerbit
|
Kd_buku
|
judulbuku
|
Kd_penerbit
|
Kd_penerbit
|
nmapenerbit
|
|
134
|
Delphi
|
123
|
123
|
erlangga
|
|
135
|
database
|
124
|
123
|
erlangga
|
|
134
|
Delphi
|
123
|
124
|
Surya abadi
|
|
135
|
database
|
124
|
124
|
Surya abadi
|
2.
Jika menggunkan natural join/inner join akan membatasi kolom
data yang tertumpuk
select b.judulbuku,b.pengarang,p.kd_penerbit from bukuu b inner join
penerbit p on b.kd_penerbit = p.kd_penerbit
|
judulbuku
|
pengarang
|
Kd_penerbit
|
|
Delphi
|
Andi
|
123
|
|
database
|
aliudin
|
124
|
3.
select
b.judulbuku,b.pengarang,p.kd_penerbit from bukuu b inner join penerbit p on
b.kd_penerbit = p.kd_penerbit
|
judulbuku
|
pengarang
|
Kd_penerbit
|
|
Delphi
|
Andi
|
123
|
|
database
|
aliudin
|
124
|
4.
right outer join
select b.judulbuku,b.pengarang,p.kd_penerbit
from
bukuu b right outer join
penerbit p on
b.kd_penerbit = p.kd_penerbit
|
judulbuku
|
pengarang
|
Kd_penerbit
|
|
Delphi
|
Andi
|
123
|
|
database
|
aliudin
|
124
|
5.
full outer join
select
b.judulbuku,b.pengarang,p.kd_penerbit from bukuu b
full
outer
join
penerbit p on
b.kd_penerbit = p.kd_penerbit
|
judulbuku
|
pengarang
|
Kd_penerbit
|
|
Delphi
|
Andi
|
123
|
|
database
|
aliudin
|
124
|
Tidak ada komentar:
Posting Komentar