Oleh
a. Inner Join
Inner join pada dasarnya adalah sebuah persimpangan (intersection) antara dua
buah tabel, sehingga dalam penulisan sintaks inner join dapat di implementasika
sebagai berikut :
SELECT A1, A2, . . ., An
FROM r1
INNER JOIN r2
ON R1.join_key = r2.join_key;
Misalkan terdapat table A dan B, maka hasil dari sebuah inner join dapat dilihat
pada gambar dibawah ini :
Pada praktikum database lanjutan terdapat tiga sebuah tabel yang memiliki
relasi, dalam pengimplementasian sintaks ini akan merelasikan dan menggunakan
inner join pada tabel orders dan customers dengan sintax sebagai berikut :
select Orders.OrderID, Customers.CustomerName
from orders
inner join Customers
ON Orders.CustomerID = Customers.CustomerID;
Pada penggunaan sintaks yang diimplementasikan pada data yang sudah
ada menghasilkan data orderID dengan customerName yang ada pada tabel
customer menjadi satu yang berlasi dengan field customerID. Dalam penggunaan
inner join para pelaku (user) dapat memhami lebih paham karena ketika akan
menyelect sebuah data menukar posisi view yang ditampilkan sesuai dengan
keinginan user sehingga harapan untuk mengetahui field dan jenis kolom yang
akan dilakukan sebuah proses join dapat benar benar mehaminya.
b. Outer Join
Outer join dibagi menjadi tiga jenis diantanya yaitu left outer join, right outer join
dan full ouer join.
1. Left Outer Join
Left Outer Join bisa kita visualisaikan dan artikan bahwa siktak ini akan
mengembalikan sebuah nilai dari tabel kiri ditambah dengan sebuah nilai dari
tabel kanan yang sesuai ataupun null jika tidak ada sebuah nilai yang match.
Sintaks left outer join dapat diperlihatkan pada gambar dibawah ini :
SELECT A1, A2, . . . , An
FROM r1
LEFT OUTER JOIN r2
ON R1.join_key = r2.join_key;
Dalam implemtasian dan visualisasi relasi untuk left outer join antara
tabel A dan B dapat diilustrasikan dalam diagram Venn seperti gambar dibawah
ini :
4. Self Join
Selft join merupakan salah satu join yang bergabung dengan dirinya
sendiri, dan implentasian dalam selft join dapat dilhat pada sintaks dan hasil
gambar dibawah ini:
SELECT A.CustomerName AS CustomerName1, B.CustomerName
AS CustomerName2, A.City
FROM Customers A, Customers B
WHERE A.CustomerID <> B.City ORDER BY A.City;