Anda di halaman 1dari 14

PRAKTIKUM SISTEM BASIS

DATA
Displaying Data
from Multiple Tables
Memahami Join
Salah satu kemampuan SQL yang paling berguna adalah kemampuan untuk
menggabungkan table on the fly degan query-query yang mendapatkan kembali
data. Join adalah salah satu dari beberapa operasi yang paling penting yang
dapat kita lakukan dengan menggunakan SQL SELECT. Dan sebagai bagian
penting dalam mempelajari SQL, kita perlu memahami dengan baik tentang join
maupun syntaxnya dalam SQL. Sebelum memahami join, kita terlebih dahului
harus memahami table relasional dan dasar-dasar perancangan database
relasional.
Join adalah mekanisme yang digunakan untuk menggabungkan beberapa table
dengan statement SELECT. Dengan menggunakan syntax khusus, bebearapa
table dapat dihubungkan sehingga dapat dihasilkan sekumpulan output tunggal,
dan join menghubungkan baris-baris yang benar di setiap table on the fly.
Memperoleh Data dari beberapa tabel

TABEL MAHASISWA TABEL KST


Join yang sesuai dengan sql: 1999
standar termasuk berikut: `
Inner Join
Outter Join

Cross joins
Natural joins
USING clause
Full (or two-sided) outer joins
Arbitrary join conditions for outer joins
Joining Tables Using SQL:1999 Syntax

Contoh :
select mahasiswa.nama,KST.KodeMatkul
from Mahasiswa join KST on Mahasiswa.NIM = kst.nim
Inner Join
(EQUIJOIN)
Creating Natural Joins

Natural join akan secara otomatis mencari kolom yang memiliki tipe data dan nama
kolom yang sama
(hanya pada mySQL dan Oracle DB)

select nim, nama, KodeMatkul


from Mahasiswa NATURAL join KST
JOIN with USING Clause
Using clause akan menggunakan kolom di dalam using statement untuk
menhubungkan antar table
Penggunaan using clause HARUS merefrensikan foreign key dan primary key
dalam desain table
(hanya pada mySQL dan Oracle DB)

select mahasiswa.nama,KST.KodeMatkul
from Mahasiswa join KST using NIM
Using Table Aliases
Menggantikan nama table dengan nama lain untuk menghidari kolom ambigu.
Penggantian nama tidak merubah nama table pada DB.

select a.nama , b.KodeMatkul


from Mahasiswa a join KST b on a.NIM = b.nim
Self Join
Penggabungan sebuah Tabel dengan Tabel itu sendiri
Dalam table tersebut harus memiliki primary key dan foreign key untuk table
tersebut

select a.KodeDosen ,a.Nama ,b.KodeDosen ,b.Nama


from Dosen a join Dosen b
on a.KepalaDosen = b.KodeDosen
Outer Join
LEFT, RIGHT, FULL, CROSS JOIN
Perhatikan perbedaan dari masing-masing query berikut
select a.KodeDosen, a.Nama, b.KodeDosen, b.Nama from Dosen a join
dosen b on a.KepalaDosen = b.KodeDosen
select a.KodeDosen, a.Nama, b.KodeDosen, b.Nama from Dosen a right join
dosen b on a.KepalaDosen = b.KodeDosen
select a.KodeDosen, a.Nama, b.KodeDosen, b.Nama from Dosen a left join
dosen b on a.KepalaDosen = b.KodeDosen
select a.KodeDosen, a.Nama, b.KodeDosen, b.Nama from Dosen a full join
dosen b on a.KepalaDosen = b.KodeDosen
select a.KodeDosen, a.Nama, b.KodeDosen, b.Nama from Dosen a cross join
dosen b on a.KepalaDosen = b.KodeDosen
NON-EQUIJOIN
NON-EQUIJOIN
Silahkan tambahkan 1 Tabel berikut di dalam database
create table katagori(
jenis varchar(10),
sks_Min int,
sks_max int
)

insert katagori values ('Dasar',1,2)


insert katagori values ('Sedang',3,3)
insert katagori values ('Tinggi',4,6)

select a.KodeMatakuliah, a.sks, b.jenis


from Matakuliah a join katagori b
on a.SKS between b.sks_min and b.sks_max

Anda mungkin juga menyukai