MANIPULASI DATA DENGAN BEBERAPA
TABEL
12.1. Operator Join
SQL Server memiliki metode untuk
mengambil data dari suatu tabel dengan
menggunakan Join. Join dipakai untuk
mencari data dari beberapa tabel berdasarkan
hubungan yang logis dari tabel-tabel
tersebut. Join menyatakan cara SQL Server
memakai data dari sebuah tabel untuk
memilih data dari tabel lain. SQL Server dapat
menggabungkan tabel-tabel sampai 256
tabel.
Sintaks:
Selectnama_kolom,nama_kolom,[nama_kolom]
From
nama_tabel, [ Cross / Inner / [ Left / Right ] Outer ]
Join nama_tabel On
nama_tabel.Ref_nama_kolom
OperatorJoin Nama_tabel.Ref_nama_kolom.
Keterangan:
Nama_kolom : menspesidikasikan nama kolom dari satu atau
beberapa tabel
yang ditampilkan.
Nama_tabel : adalah nama tabel dari tabel yang diambil
Ref.nama_kolom :
adalah nama_kolom yang digunakan menggabungkan dua tabel
dengan menggunakan kunci yang umum.
Operator Join
menspesifikasikan operator yang
digunakan untuk
menggabungkan tabel.
Join dapat dikelompokkan menjadi
Inner JoindanOuter Join.
12.1.1. Inner Join
Inner Join adalah sebuah Join yang
menghasilkan baris-baris, minimal ada
sebuah baris di kedua tabel yang
sesuai dengan kondisi Join. Baris-baris yang tidak
sesuai dengan sebuah baris dari
tabel lain tidak ditampilkan. Default adalah InnerJoin.
Contoh :
•buka database PMB, lalu detik
perintah berikut ini pada Query Analyzer:
•Lalu tekan F5, maka nampak hasilnya
pada gambar di bawah ini.
Gambar 12.1. Query dengan Join 2
table (a)
SQL Server 2000 / MySQL – Navicat
2005
2
@ 2010 : www.didiksetiyadi.com,
dds@didiksetiyadi.com
Perintah Select tersebut
menghasilkan data yang mempunyai relasi antara tabel
CalonMahasiswa dan Jurusan, dimana
yang ditampilkan kolomnya adalah
id_calon,nama_c dari table
CalonMahasiswa dan kolom nama_j,jenjang dari table
Jurusan, dengan kriteria jurusannya
adalah ‘Manajemen Informatika’. Contoh tersebut
dapat diubah dengan memakai kondisi
Where.
Gambar 12.2. Query dengan
menggunakan Join 2 table(b)
Contoh dengan tiga tabel :
Gambar 12.3. Query menggunakan join 3 tabel
12.1.2. Outer Join
Outer Join akan menghasilkan semua
data dari sebuah tabel dan membatasi
data dari tabel lain . SQL Server
mempunyai tiga buah tipe Outer Join yaitu Left, Right
dan Full. Semua baris dari tabel
sebelah kiri diacu oleh sebuah left outer join, dan
sebuah baris dari tabel kanan diacu
dengan Right outer join. Kegunaan dari outer join
adalah mencari record-record piatu,
artinya record yang ada disebuah tabel tetapi tidak
ada pasangannya pada pada tabel
lain.
Contoh :
SQL Server 2000 / MySQL – Navicat
2005
3
@ 2010 : www.didiksetiyadi.com,
dds@didiksetiyadi.com
•Ketik perintah berikut pada Query
Analyzer :
Gambar 12.4. Query Menggunakan Left
Outer Join
•Terlihat bahwa pada kolom id_kelas
dan tgl_registrasi bernilai null,
dikarenakan calon mahasiswa tersebut
belum melakukan registrasi.
Contoh penggunaan Rigth Outer join :
Gambar 12.5. Query Menggunakan Right
Outer Join
Hasil pernyataan select yang memakai
pernyataan Right Outer Join adalah
semua baris dari tabel di sebelah
kanan dan dari tabel di sebelah kiri hanya yang
memenuhi kondisi join artinya adalah
data yang tampil 8 record adalah calon mahasiswa
yang telah melakukan registrasi.
Latihan 12.1.v
Select With Kolom
Select
With Kolom digunakan untuk memilih data berdasarkan kondisi yang kita buat.
Contoh:
Tabel
mahasiswa
Nama
|
Kelas
|
Jurusan
|
Sesi
|
Khairani
|
KA.12.04
|
Komputerisasi
Akuntansi
|
Siang
|
Rini
|
KA.12.04
|
Komputerisasi
Akuntansi
|
Siang
|
Gomal
|
MI.12.10
|
Manajemen
Informatika
|
Siang
|
Tuliskan
kode ini:
Select
with jurusan=‘Manajemen Informatika’
maka
hasilnya:
Nama
|
Kelas
|
Jurusan
|
Sesi
|
Gomal
|
MI.12.10
|
Manajemen
Informatika
|
Siang
|
Select from 2 Table with Where
Perintah ini digunakan untuk
menampilkan data yang berasal dari 2 buah tabel.
Contoh:
Tabel mahasiswa
NIM
|
Nama
Mahasiswa/I
|
201201030191
|
Rini
Agus Pertiwi
|
201201030192
|
Khairani
Sudarningsih
|
201201030193
|
Silvia
Dewi
|
Tabel
Prodi
Jurusan
|
Jenjang
|
Komputerisasi
Akuntansi
|
Dipoma-3
|
Komputerisasi
Akuntansi
|
Dipoma-3
|
Komputerisasi
Akuntansi
|
Dipoma-3
|
Ketikkan kode ini:
Select from mahasiswa and Prodi where
NIM=201201030192 and
jurusan=‘Komputerisasi Akuntansi’
Hasilnya:
NIM
|
Jurusan
|
201201030192
|
Komputerisasi
Akuntansi
|
Inner Join adalah sebuah join yang menghasilkan
baris-baris, minimal ada sebuah baris di kedua table yang sesuai dengan kondisi
join.
Contoh:
Tabel calon mahasiswa
NIM
|
Nama
|
201201030191
|
Rini
Agus Pertiwi
|
201201030192
|
Khairani
Sudarningsih
|
201201030193
|
Silvia
Dewi
|
tabel
prodi
Jurusan
|
Jenjang
|
NIM
|
Komputerisasi
Akuntansi
|
Diploma-3
|
201201030191
|
Komputerisasi
Akuntansi
|
Diploma-3
|
201201030192
|
Komputerisasi
Akuntansi
|
Diploma-3
|
201201030193
|
Dengan menggunakan Inner Join,
ketikkan perintah:
Select NIM,Nama,Jurusan,jenjang from
calon mahasiswa
Inner Join prodi on calon
mahasiswa.NIM=prodi.NIM
Where jurusan=‘Komputerisasi
Akuntansi’. Maka hasilnya:
NIM
|
Nama
|
Jurusan
|
Jenjang
|
201201030191
|
Rini Agus Pertiwi
|
Komputerisasi
Akuntansi
|
Diploma-3
|
201201030192
|
Khairani Sudarningsih
|
Komputerisasi
Akuntansi
|
Diploma-3
|
201201030193
|
Silvia Dewi
|
Komputerisasi
Akuntansi
|
Diploma-3
|
Select from n table with left join
Left
join merupakan bagian dari outer join yang berfungsi menampilkan seluruh baris
dan tabel yang berada di sebelah kiri.
Contoh:
Tabel person
P_Id
|
LastName
|
FirstName
|
Address
|
City
|
1
|
Hansen
|
Ola
|
Timoteivn
10
|
Sandnes
|
2
|
Svendson
|
Tove
|
Borgvn
23
|
Sandnes
|
3
|
Pettersen
|
Kari
|
Storgt
20
|
Stavanger
|
tabel
orders
O_Id
|
OrderNo
|
P_Id
|
1
|
77895
|
3
|
2
|
44678
|
3
|
3
|
22456
|
1
|
4
|
24562
|
1
|
5
|
34764
|
15
|
Sekarang kita akan menyusun tabel
“peson” & “order”
gunakan perintah ini:
SELECT Persons.LastName,
Persons.FirstName, Orders.OrderNo
FROM Persons
LEFT JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName
FROM Persons
LEFT JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName
maka hasilnya
LastName
|
FirstName
|
OrderNo
|
Hansen
|
Ola
|
22456
|
Hansen
|
Ola
|
24562
|
Pettersen
|
Kari
|
77895
|
Pettersen
|
Kari
|
44678
|
Svendson
|
Tove
|
|
Select from n table with right join
Right
join merupakan bagian dari outer join yang berfungsi menampilkan seluruh baris
dan tabel yang berada di sebelah kanan.
Tabel mahasiswa
Nama mahasiswa
|
Alamat
|
Id
|
Khairani
Sudarningsih
|
Jl.
Setianegara I
|
001
|
Rini
Agus Pertiwi
|
Jl.
Singosari
|
002
|
Silvia
Dewi
|
Jl.
Medan
|
003
|
tabel
registrasi
Id_kelas
|
Tgl_registrasi
|
KA.12.04
|
2013-06-07
|
KA.12.01
|
2013-06-15
|
KA.12.06
|
2013-06-19
|
Jika ingin menggunakan fungsi right
join maka ketikkan perintah:
Select
Nama_mahasiswa,Alamat,Id_kelas,Tgl_registrasi
From calon_mahasiswa right outer
join mahasiswa on mahasiswa.id=calon_mahasiswa.id
Maka hasilnya akan:
Nama mahasiswa
|
Alamat
|
Id_kelas
|
Tgl_registrasi
|
Khairani
Sudarningsih
|
Jl.
Setianegara I
|
KA.12.04
|
2013-06-07
|
Rini
Agus Pertiwi
|
Jl.
Singosari
|
KA.12.01
|
2013-06-15
|
Silvia
Dewi
|
Jl.
Medan
|
KA.12.06
|
2013-06-19
|
Select
from n table with unionPerintah union digunakan untuk menggabungkan atau menyatukan
dua buah tabel yang berbeda menjadi satu buah tabel yang baru, tetapi tetap
menggunakan data yang sama.
Contoh:
Union:SELECT
name,age FROM football
UNION
SELECT name,age FROM baseball
UNION
SELECT name,age FROM baseball
Baseball
|
|
name
|
age
|
Reid
|
16
|
Alex
|
21
|
Greek
|
19
|
|
|
Football
|
|
name
|
age
|
John
|
20
|
Alex
|
21
|
Robort
|
23
|
Hasil
name
|
age
|
John
|
20
|
Alex
|
21
|
Robort
|
23
|
Reid
|
16
|
Greek
|
19
|
Geen opmerkings nie:
Plaas 'n opmerking