Buatlah tabel dengan perintah dibawah ini :
create database Toko_Buku
use Toko_Buku
create Table Penerbit(
Kd_Penerbit char(4) not null primary key,
Nama_Penerbit varchar(30))
select*from Penerbit
create Table Buku(
Kd_Buku char(4) not null primary key,
Judul varchar(30),
Pengarang varchar(30),
Stok int,
Hal int,
Kd_Penerbit char(4) references
Penerbit(Kd_Penerbit))
select * from Buku
insert into Penerbit
values('GN01','GANESHA')
insert into Penerbit
values('ER02','ERLANGGA')
insert into Penerbit
values('MR03','GRAMEDIA')
SELECT* FROM PENERBIT
INSERT INTO BUKU
VALUES('001','FISIKA','DRS.DERYANTO','10','231','GN01')
INSERT INTO BUKU
VALUES('002','MATEMATIKA','AHMAD','25','179','ER02')
INSERT INTO BUKU VALUES('003','BAHASA
INDONESIA','SURIPNO','15','237','MR03')
select * from Buku
sekarang
gunakan perintah cross join. Misalnya seperti perintah berikut ini:
select*from buku cross join penerbit
Keterangan :
Dalam
penggunaan cross join disini ialah menggabungkan lebih dari satu tabel tanpa
syarat apapun. Jika tabel mempunyai 3
baris dan tabel penerbit 3 baris maka hasil cross join adalah 9 baris.
Untuk
perintah Inner Join . Inner Join adalah join yang menghasilkan baris-baris yang
minimal ada sebuah baris dari kedua tabel yang sesuai dengan kondisi join,
baris-baris yang tidak sesuai dengan sebuah tabel baris dan tabel lain.
Misalkan seperti perintah berikut :
select b.judul,b.pengarang,p.kd_penerbit
from buku b
inner join penerbit p on b.kd_penerbit=p.kd_penerbit
Atau
perintah diatas akan dibatasi kolom data yang bertumpuk, perintah diatas dapat
diganti dengan memakai inner join style baru yang memakai kondisi where :
select b.judul,b.pengarang,p.kd_penerbit
from buku b,penerbit p where b.kd_penerbit=p.kd_penerbit
keterangan
maksud b. judul dan lainya adalah tampilan judul dari tabel buku. Dan begitu
juga dengan b. pengarang. Sedangkan untuk p. kd_penerbit adalah tampilkan kode
penerbit dari tabel penerbit.
Sedangkan untuk
outer join akan menghasilkan semua data sebuah tabel dan membatasi data dari
tabel lainnya. ada tiga tipe :
1.
LEFT OUTER JOIN
select
b.judul,b.pengarang,p.kd_penerbit from buku b left outer join penerbit p on
b.kd_penerbit=p.kd_penerbit
2.
RIGHT OUTER JOIN
select b.judul,b.pengarang,p.kd_penerbit
from buku b right outer join penerbit p on b.kd_penerbit=p.kd_penerbit
3.
FULL OUTER JOIN
select b.judul,b.pengarang,p.kd_penerbit from buku
b full outer join penerbit p on b.kd_penerbit=p.kd_penerbit
Untuk outer
join hasilnya akan sama.