BAB 12
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
|
Tidak ada komentar:
Posting Komentar