Menampilkan
Data
Dari
Beberapa Tabel
TipeTipe
pada Join
Join yang
mengacu pada standar SQL:1999 termasuk sebagai berikut :
· Cross joins
· Natural joins
· Klausa USING
· Full (atau twosided)
outer joins
· Kondisi kondisi penggabungan tidak
tetap untuk outer join
Membuat
Natural Joins
· Klausa NATURAL JOIN adalah didasarkan
pada semua kolom pada dua tabel yang memiliki nama yang sama.
· NATURAL JOIN memilih baris baris dari
dua tabel yang memiliki nilai nilai yang sama dalam semua kolom yang sesuai.
· Jika kolom kolom memiliki nama yang
sama memiliki tipe data berbeda, menghasilkan suatu error.
Contoh:
SELECT
department_id, department_name,
location_id,
city
FROM
departments
NATURAL JOIN
locations
WHERE
department_id IN(20,50);
Membuat
JoinJoin dengan Klausa USING
· Jika beberapa kolom memiliki namanama
yang sama
tapi tipe datanya tidak sesuai, klausa NATURAL JOIN dapat
dimodifikasi
dengan klausa USING untuk menentukan kolom kolom
yang akan
digunakan sebagai suatu equijoin.
· Gunakan klausa USING untuk penyesuaian
hanya satu kolom saat beberapa kolom sama.
· Jangan gunakan nama tabel atau alias
pada kolomkolom
referensi.
· Klausaklausa NATURAL JOIN dan USING
adalah mutually
Exclusive
Contoh:
SELECT
l.city, d.department_name
FROM
locations l JOIN departments d USING (location_id)
WHERE
location_id = 1400;
Merubah Nama
NamaKolom Ambigu
· Gunakan awalan awalan
tabel untuk
merubah nama nama kolom yang ada pada beberapa tabel.
· Gunakan awalan awalan tabel untuk
meningkatkan performa.
· Gunakan kolom kolom
alias untuk
membedakan kolom kolom yang memiliki namanama sama tapi berada dalam tabel
tabel berbeda.
· Jangan gunakan alias alias
pada kolom
kolom yang disebutkan pada klausa USING dan dimanapun terdaftar padapernyataan
SQL
contoh:
SELECT
employees.employee_id, employees.last_name,
departments.department_id,
departments.location_id
FROM
employees JOIN departments
ON
employees.department_id = departments.department_id;
Menggunakan TabelTabel
Alias
Merubah nama nama kolom dengan nama nama tabel bisa sangat menghabiskan
banyak waktu,
khususnya jika nama nama tabel yang digunakan panjang. Anda dapat menggunakan
tabel tabel
alias daripada nama nama tabel. Seperti suatu kolom alias memberikan nama
lain suatu kolom, suatu
tabel alias memberikan nama lain suatu tabel. Tabel tabel alias membantu menjaga kode SQL
menjadi lebih sederhana, sehingga menghemat penggunaan memory.
Perhatikan bagaimana tabel tabel alias diidentifikasi pada klausa FROM
dalam contoh. Suatu nama
tabel disebutkan secara utuh, diikuti oleh spasi dan kemudian suatu tabel
alias. Tabel EMPLOYEES
diberikan suatu alias e, dan tabel DEPARTMENTS memiliki suatu alias d.
Pedomanpedoman
Tabel tabel alias dapat mencapai 30
karakter panjangnya, tapi· alias alias pendek lebih baik
daripada alias alias panjang.
Jika suatu tabel alias digunakan
untuk nama tabel khusus pada· suatu klausa FROM, maka tabel
alias itu harus diganti dengan nama tabel sepanjang pernyataan SELECT.
Tabel tabelalias sebaiknya mempunyai
arti.·
Tabel alias berlaku hanya pada
pernyataan SELECT saat ini.·
Membuat
JoinJoin dengan Klausa ON
· Kondisi join untuk natural join pada
dasarnya adalah suatu equijoin pada seluruh kolom kolom dengan nama yang sama.
· Gunakan klausa ON untuk menentukkan
kondisi kondisi perubahan atau menentukan kolom kolom untuk digabungkan.
· Kondisi penggabungan adalah dipisahkan
dari kondisi kondisi pencarian lain.
· Klausa ON membuat kode mudah untuk
dipahami
contoh :
SELECT
e.employee_id, e.last_name, e.department_id,
d.department_id,
d.location_id
FROM
employees e JOIN departments d
ON
(e.department_id = d.department_id)
WHERE e.manager_id
= 149;
Non
Equijoins
Suatu
nonequijoins adalah suatu kondisi join yang berisi suatu operator kesamaan
(equality).
INNER Join
Versus OUTER Join
Menggabungkan
tabel tabel dengan klausa klausa NATURAL JOIN, USING atau ON menghasilkan
suatu inner
join. Beberapa baris yang tidak sesuai tidak ditampilkan pada output. Untuk
mengembalikan baris baris yang tidak sesuai, Anda bisa menggunakan suatu outer
join. Suatu outer
join
mengembalikan semua baris baris yang memenuhi kondisi join dan juga mengembalikan
beberapa
atau semua baris baris tersebut dari satu tabel yang mana tidak ada baris baris
dari tabel
lain yang memenuhi kondisi join.
Ada tiga
tipe dari outer join:
· LEFT OUTER
· RIGHT OUTER
· FULL OUTER