Anda di halaman 1dari 39

PERTEMUAN XIII

SQL (Structured Query Language)

JOIN

SEKOLAH TINGGI MANAJEMEN INFORMATIKA


DAN KOMPUTER ROSMA
2018
Pembahasan Materi

 Definisi Join
 Macam-macam Join
 Pemakaian Inner Join
 Pemakaian Left Join
 Pemakaian Right Join
 Pemakaian Full Join
Multi-Table Queries Dengan Join
Join merupakan salah satu operasi yang ada pada query
yang digunakan untuk menampilkan informasi dari dua
atau lebih tabel yang berelasi.
Join dalam SQL Server yaitu :

 Join atau Inner Join


 Left Join atau Left Outer Join
 Right Join atau Right Outer Join
 Cross Join
A. Inner Join atau Join
Digunakan untuk mendapatkan data dari dua tabel
atau lebih yang persis saling berelasi.
Pada Inner Join tabel yang akan diambil datanya
harus berelasi/berhubungan.
Inner Join dapat ditulis juga dengan Join
Hasil dari penulisan antara Inner Join atau Join
akan sama.
A. Inner Join atau Join

Gambar Inner Join atau Join (irisan)


dari www.dofactory.com/sql/join
Inner Join atau Join (Lanjutan)
Pengetikan query secara umum untuk Inner Join atau Join
adalah seperti di bawah

Inner Join
Select NamaKolom From NamaTabel1 Inner Join NamaTabel2
On NamaTabel1.NamaKolom = NamaTabel2.NamaKolom
Where Kondisi

Join
Select NamaKolom From NamaTabel1 Join NamaTabel2
On NamaTabel1.NamaKolom = NamaTabel2.NamaKolom
Where Kondisi
Inner Join atau Join (Lanjutan1)
Perintah On NamaTabel1.NamaKolom =
NamaTabel2.NamaKolom akan menampilkan
data yang mempunyai nilai yang sama antara Nim
yang ada pada TblMahasiswa dan Nim yang ada
pada TblNilai.
Perintah On khusus untuk menempatkan Nama
Kolom yang berelasi antar table.
Contoh Inner Join atau Join
Nama Tabel : TblCabang
Column Name Type Nama Tabel : TblKaryawan
Kocab Char(4)
Column Name Type
Nacab Varchar(25)
NIK Char(5)
Kacab Char(5)
Nakar Varchar(50)
Alamat Varchar(50)
Alamat Varchar(50)
TmpLahir Varchar(40)
TglLahir Date
StatusK Varchar(25)
JenisK Char(1)
No_HP Varchar(13)
Kocab Char(4)
Contoh Inner Join atau Join (Lanjutan)

Inner Join
Select * From TblKaryawan Inner Join TblCabang
On TblKaryawan.Kocab = TblCabang.Kocab

Join
Select * From TblKaryawan Join TblCabang
On TblKaryawan.Kocab = TblCabang.Kocab

Hasil
Contoh Inner Join atau Join (Lanjutan1)
Inner Join
Select * From TblKaryawan A Inner Join TblCabang B
On A.Kocab = B.Kocab Where A.StatusK=‘Duda’

Join
Select * From TblKaryawan A Join TblCabang B
On A.Kocab = B.Kocab Where A.StatusK=‘Duda’

Hasil
Contoh Inner Join atau Join (Lanjutan2)
Inner Join
Select * From TblKaryawan A Inner Join TblCabang B
On A.Kocab = B.Kocab Where A.StatusK=‘Duda’ or A.StatusK=‘Single’

Join
Select * From TblKaryawan A Join TblCabang B
On A.Kocab = B.Kocab Where A.StatusK=‘Duda’ or A.StatusK=‘Single’

Hasil
Contoh Inner Join atau Join (Lanjutan2)
Inner Join
Select NIK, NaKar as 'Nama Karyawan’, StatusK as 'Status Karyawan'
From TblKaryawan A Inner Join TblCabang B
On A.Kocab=B.Kocab Where A.StatusK='Duda' or A.StatusK='Single'
Join
Select NIK, NaKar as 'Nama Karyawan’, StatusK as 'Status Karyawan'
From TblKaryawan A Join TblCabang B
On A.Kocab=B.Kocab Where A.StatusK='Duda' or A.StatusK='Single'

Hasil
Contoh Inner Join atau Join (Lanjutan3)
Inner Join
Select NIK, NaKar as 'Nama Karyawan’, StatusK as 'Status Karyawan'
From TblKaryawan A Inner Join TblCabang B
On A.Kocab=B.Kocab Where A.StatusK In (‘Duda’,’Single’)
Join
Select NIK, NaKar as 'Nama Karyawan’, StatusK as 'Status Karyawan'
From TblKaryawan A Join TblCabang B
On A.Kocab=B.Kocab Where A.StatusK In (‘Duda’,’Single’)

Hasil
Contoh Inner Join atau Join (Lanjutan4)
Nama Tabel : TblPenggajian Nama Tabel : TblKaryawan

Column Name Type Column Name Type


Nofak Char(5) NIK Char(5)
TglGajian Date Nakar Varchar(50)
NIK Char(5) Alamat Varchar(50)
Kojab Char(3) TmpLahir Varchar(40)
JmlAnak SmalInt TglLahir Date
TunjAnak Int StatusK Varchar(25)
Potongan Int JenisK Char(1)
Gapok Int No_HP Varchar(13)
Gaber Int Kocab Char(4)

Nama Tabel : TblJabatan


Column Name Type
Kojab Char(3)
Najab Varchar(25)
Contoh Inner Join atau Join (Lanjutan4)
Inner Join
Select C.NIK, NaKar as 'Nama Karyawan', StatusK as 'Status Karyawan', Gaber as 'Gaji Bersih'
From TblKaryawan A Inner Join TblCabang B On A.Kocab=B.Kocab
Inner Join TblPenggajian C On C.Nik=A.NIK Where A.StatusK In ('Duda','Single')

Join
Select C.NIK, NaKar as 'Nama Karyawan', StatusK as 'Status Karyawan', Gaber as 'Gaji Bersih'
From TblKaryawan A Join TblCabang B On A.Kocab=B.Kocab
Join TblPenggajian C On C.Nik=A.NIK Where A.StatusK In ('Duda','Single')

Hasil
B. Left Join atau Left Outer Join
Digunakan untuk mendapatkan data dari dua tabel atau
lebih yang persis saling berelasi ataupun yang tidak
berelasi.
Pada Left Join tabel yang akan diambil datanya harus
berelasi/berhubungan sedangkan yang tidak berhubungan
akan terlihat NULL.
Data yang dilihat oleh SQL adalah data table sebelah kiri
yang berelasi dengan data table yang sebelah kanan
B. Left Join atau Left Outer Join

Gambar Left Join atau Left Outer Join


dari www.dofactory.com/sql/join
Left Join atau Left Outer Join (Lanjutan)
Pengetikan query secara umum untuk Left Join atau Left Outer
Join adalah seperti di bawah
Left Table Right Table
Left Join
Select NamaKolom From NamaTabel1 Left Join NamaTabel2
On NamaTabel1.NamaKolom = NamaTabel2.NamaKolom
Where Kondisi

Left Outer Join


Select NamaKolom From NamaTabel1 Left Outer Join NamaTabel2
On NamaTabel1.NamaKolom = NamaTabel2.NamaKolom
Where Kondisi
Left Join atau Left Outer Join (Lanjutan1)
Perintah On NamaTabel1.NamaKolom =
NamaTabel2.NamaKolom akan menampilkan
data yang mempunyai nilai yang sama antara
NamaKolom yang ada pada NamaTabel1 dan
NamaKolom yang ada pada NamaTabel2.
Perintah On khusus untuk menempatkan Nama
Kolom yang berelasi antar table.
Contoh Left Join atau Left Outer Join
Nama Tabel : TblPenggajian

Column Name Type


Nofak Char(5)
TglGajian Date
NIK Char(5)
Kojab Char(3)
JmlAnak SmalInt
TunjAnak Int
Potongan Int Nama Tabel : TblJabatan
Gapok Int Column Name Type
Gaber Int Kojab Char(3)
Najab Varchar(25)
Contoh Left Join atau Left Outer Join (Lanjutan)

Left Join
Select * From TblPenggajian A Left Join TblJabatan B
On A.Kojab = B.Kojab

Left Outer Join


Select * From TblPenggajian A Left Outer Join TblJabatan B
On A.Kojab = B.Kojab

Hasil
Contoh Left Join atau Left Outer Join (Lanjutan)

Left Join
Select * From TblJabatan A Left Join TblPenggajian B
On A.Kojab = B.Kojab

Left Outer Join


Select * From TblJabatan A Left Outer Join TblPenggajian B
On A.Kojab = B.Kojab
Hasil
Contoh Left Join atau Left Outer Join (Lanjutan)
Left Join
Select * From TblJabatan A Left Join TblPenggajian B
On A.Kojab = B.Kojab Where B.Gapok > 5000000

Left Outer Join


Select * From TblJabatan A Left Outer Join TblPenggajian B
On A.Kojab = B.Kojab Where B.Gapok > 5000000

Hasil
C. Right Join atau Right Outer Join
Digunakan untuk mendapatkan data dari dua tabel atau
lebih yang persis saling berelasi ataupun yang tidak
berelasi.
Pada Right Join tabel yang akan diambil datanya harus
berelasi/berhubungan sedangkan yang tidak berhubungan
akan terlihat NULL.
Data yang dilihat oleh SQL adalah data table sebelah
kanan yang berelasi dengan data table yang sebelah kiri
C. Right Join atau Right Outer Join

Gambar Right Join atau Right Outer Join


dari www.dofactory.com/sql/join
Right Join atau Right Outer Join (Lanjutan)
Pengetikan query secara umum untuk Right Join atau Right
Outer Join adalah seperti di bawah
Left Table Right Table
Right Join
Select NamaKolom From NamaTabel1 Right Join NamaTabel2
On NamaTabel1.NamaKolom = NamaTabel2.NamaKolom
Where Kondisi

Right Outer Join

Select NamaKolom From NamaTabel1 Right Outer Join NamaTabel2


On NamaTabel1.NamaKolom = NamaTabel2.NamaKolom
Where Kondisi
Right Join atau Right Outer Join (Lanjutan1)

Perintah On NamaTabel1.NamaKolom =
NamaTabel2.NamaKolom akan menampilkan data
yang mempunyai nilai yang sama antara NamaKolom
yang ada pada NamaTabel1 dan NamaKolom yang
ada pada NamaTabel2.
Perintah On khusus untuk menempatkan Nama Kolom
yang berelasi antar table.
Contoh Right Join atau Right Outer Join
Nama Tabel : TblPenggajian

Column Name Type


Nofak Char(5)
TglGajian Date
NIK Char(5)
Kojab Char(3)
JmlAnak SmalInt
TunjAnak Int
Potongan Int Nama Tabel : TblJabatan
Gapok Int Column Name Type
Gaber Int Kojab Char(3)
Najab Varchar(25)
Contoh Right Join atau Right Outer Join (Lanjutan)
Right Join
Select * From TblPenggajian A Right Join TblJabatan B
On A.Kojab = B.Kojab

Right Outer Join


Select * From TblPenggajian A Right Outer Join TblJabatan B
On A.Kojab = B.Kojab

Hasil
Contoh Right Join atau Right Outer Join (Lanjutan)

Right Join
Select * From TblJabatan A Right Join TblPenggajian B
On A.Kojab = B.Kojab

Right Outer Join


Select * From TblJabatan A Right Outer Join TblPenggajian B
On A.Kojab = B.Kojab
Hasil
Contoh Right Join atau Right Outer Join (Lanjutan)
Right Join
Select * From TblJabatan A Right Join TblPenggajian B
On A.Kojab = B.Kojab Where B.Gapok > 5000000

Right Outer Join


Select * From TblJabatan A Right Outer Join TblPenggajian B
On A.Kojab = B.Kojab Where B.Gapok > 5000000

Hasil
C. Full Join
Digunakan untuk mendapatkan data dari dua tabel atau
lebih yang persis saling berelasi ataupun yang tidak
berelasi.
Pada Full Join tabel yang akan diambil datanya tidak harus
berelasi/berhubungan.
Data yang tidak berhubungan akan ada nilai NULL
C. Full Join

Gambar Full Join


dari www.dofactory.com/sql/join
Full Join (Lanjutan)
Pengetikan query secara umum untuk Full Join dan Full Outer
Join adalah seperti di bawah

Full Join
Select NamaKolom From NamaTabel1 Full Join NamaTabel2
On NamaTabel1.NamaKolom = NamaTabel2.NamaKolom
Where Kondisi

Full Outer Join


Select NamaKolom From NamaTabel1 Full Outer Join NamaTabel2
On NamaTabel1.NamaKolom = NamaTabel2.NamaKolom
Where Kondisi
Full Join atau Full Outer Join (Lanjutan1)

Perintah On NamaTabel1.NamaKolom =
NamaTabel2.NamaKolom akan menampilkan data
yang mempunyai nilai yang sama antara NamaKolom
yang ada pada NamaTabel1 dan NamaKolom yang
ada pada NamaTabel2.
Perintah On khusus untuk menempatkan Nama Kolom
yang berelasi antar table.
Contoh Full Join atau Full Outer Join
Nama Tabel : TblPenggajian

Column Name Type


Nofak Char(5)
TglGajian Date
NIK Char(5)
Kojab Char(3)
JmlAnak SmalInt
TunjAnak Int
Potongan Int Nama Tabel : TblJabatan
Gapok Int Column Name Type
Gaber Int Kojab Char(3)
Najab Varchar(25)
Contoh Full Join atau Full Outer Join (Lanjutan)
Full Join
Select * From TblPenggajian A Full Join TblJabatan B
On A.Kojab = B.Kojab

Full Outer Join


Select * From TblPenggajian A Full Outer Join TblJabatan B
On A.Kojab = B.Kojab

Hasil
Contoh Full Join atau Full Outer Join (Lanjutan)
Full Join
Select * From TblJabatan A Full Join TblPenggajian B
On A.Kojab = B.Kojab

Full Outer Join


Select * From TblJabatan A Full Outer Join TblPenggajian B
On A.Kojab = B.Kojab

Hasil
D. Self Join
Self JOIN terjadi ketika sebuahTabel mengambil 'selfie'.
Self JOIN adalah join reguler tetapi Tabel bergabung
dengan dirinya sendiri.
Ini dapat berguna ketika memodelkan hierarki.
Self JOIN juga berguna untuk perbandingan dalam sebuah
tabel.

Anda mungkin juga menyukai