Maandag 13 Mei 2013

select with join

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
 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
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