Database Toko Buku
BUKU
|
Kdbuku
|
Judul
|
Pengarang
|
Kdpenerbit
|
|
B001
|
Borland delphi
|
Andi
|
P01
|
|
B002
|
Visual basic
|
Sutanto
|
P02
|
|
B003
|
Database SQL
|
willy
|
P03
|
PENERBIT
|
Kdpenerbit
|
Nama Penerbit
|
|
P01
|
Andi offset
|
|
P02
|
Gramedia
|
|
P03
|
Grata ilmu
|
v CROSS
JOIN
Sebuah penggabungan
yang meliputi lebih dari 1 tabel tanpa syarat apapun. Hasil dari cross join
akan menghasilkan produk kartesian.
v NATURAL
/ INNER JOIN
Join yang menghasilkan
baris-baris minimal ada sebuah baris dikedua tabel yang sesuai dengan tradisi
join, baris-baris yang sesuai dengan sebuah baris dengan tabel.
v OUTER
JOIN
Outer join akan
menghasilkan semua data dari sebuah tabel dan membatasi data dari tabel
lainnya. Terdapat 3 tipe outer join yaitu: left join, right join, dan full
outer join. Dari semua baris dari tabel sebelah kanan di acu dengan right outer
join. Semua baris dari kedua tabel dihasilkan oleh full outer join. Kegunaan
dari outer join adalah untuk mencari record piatu, artinya record yang ada di
sebuah tabel tetapi tidak mempunyai pasangan di tabel lain.
1.
CROSS
JOIN ANTARA TABEL BUKU & PENERBIT
Contoh:
Select * from buku cross join penerbit
Jika buku mempunyai 4 baris
dan tabel 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 penerbit p on b.kode_penerbit =
p.kode_penerbit
Perintah diatas akan
membatasi kolom data yang bertumpuk. Perintah diatas dapat diganti dengan
memakai inner join style 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
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_penerbit
4.
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
MEMBUAT DATABASE TOKOBUKU
create database TokoBuku
Create table penerbit (
Kdpenerbit char (6) primary key,
Namapenerbit varchar (30))
Select * from penerbit
Insert into penerbit values (‘P01’,’Andi offset’)
Insert into penerbit values (‘P02’,’gramedia’)
Insert into penerbit values (‘P03’,’graha ilmu’)
Create table buku (
kdbuku char (8) primary key,
judul varchar (31),
pengarang varchar (15),
kdpenerbit char (6) references penerbit (kdpenerbit))
select * from buku
insert into buku values (‘B001’,’Borland delphi’,’andi’,’P01’)
insert into buku values (‘B002’,’visual basic’,’sutanto’,’P02’)
insert into buku values (‘B003’,’database SQL’,’willy’,’P03’)
Select * from buku cross join penerbit
Select b.judul, b.pengarang P.kode_penerbit from buku b
Inner join penerbit p on b.kode_penerbit = p.kode_penerbit
Select b.judul, b.pengarang, p.kode_penerbit from buku b
Right outer join penerbit p ON b.kode_penerbit = p.kode_penerbit
Select b.judul, b.pengarang, p.kode_penerbit from buku b full outer join
penerbit p ON b.kode_penerbit = p.kode_penerbit