Kamis, 01 Desember 2016

Pengenalan SQL Join pada SQL Server

Tidak ada komentar:
Dalam sistem database dikenal adanya istilah Join. Maksudnya yaitu menyajikan data dari beberapa tabel dimana data yang ditampilkan memiliki kesamaan berdasarkan bentuk datanya. Agar mudah memahaminya saya uraikan satu persatu beberapa bentuk SQL Join pada SQL Server.

1. Inner Join
Menampilkan data dari dua tabel atau lebih dimana nilai kunci dari tabel yang ada harus sama. Lihat gambar ilustrasi dibawah ini

Contoh query dari Inner Join

SELECT od.OrderId,od.OrderDate,od.CustomerId,cs.CompanyName,
od.Freight,od.ShipName
FROM Customers cs 
LEFT JOIN Orders od ON cs.CustomerId=od.CustomerId
Hasilnya seperti gambar berikut
 

2. Left Join
Menampilkan baris data dari tabel kiri yang memiliki hubungan dengan baris data yang cocok dari tabel kanan. Jika tidak ada kolom yang cocok pada tabel kanan, maka nilai yang ditampilkan adalah NULL. Lihat gambar ilustrasi dibawah ini
Contoh query dari Left Join

SELECT od.OrderId,od.OrderDate,od.CustomerId,cs.CompanyName,
od.Freight,od.ShipName
FROM Customers cs 
LEFT JOIN Orders od ON cs.CustomerId=od.CustomerId
Hasilnya seperti gambar berikut 

3. Right Join
Fungsi ini kebalikan dari Left Join. Dimana menampilkan baris data dari tabel kanan yang memiliki hubungan dengan baris data yang cocok dari tabel kiri. Jika tidak ada kolom yang cocok pada tabel kiri, maka nilai yang ditampilkan adalah NULL. Lihat gambar ilustrasi dibawah ini
Contoh query dari Right Join

SELECT od.OrderId,od.OrderDate,od.CustomerId,cs.CompanyName,
od.Freight,od.ShipName
FROM Customers cs 
RIGHT JOIN Orders od ON cs.CustomerId=od.CustomerId
Hasilnya seperti gambar berikut
 

4. Full Outer Join
Menampilkan baris data dari tabel kanan dan tabel kiri yang memiliki hubungan dengan baris data yang cocok. Jika tidak ada kolom yang cocok, maka nilai yang ditampilkan adalah NULL. Lihat gambar ilustrasi dibawah ini
Contoh query dari Full Outer Join

SELECT od.OrderId,od.OrderDate,od.CustomerId,cs.CompanyName,
od.Freight,od.ShipName
FROM Customers cs 
FULL JOIN Orders od ON cs.CustomerId=od.CustomerId
Hasilnya seperti gambar berikut
 

5. Cross Join
Menampilkan semua baris data dari tabel kanan dan tabel kiri tanpa melihat hubungan antara baris data yang cocok. Data yang ditampilkan merupakan data yang bersifat substitusi (perkalian) antar tabel.

Contoh query dari Cross Join

SELECT od.OrderId,od.OrderDate,od.CustomerId,cs.CompanyName,
od.Freight,od.ShipName
FROM Customers cs 
CROSS JOIN Orders od
Hasilnya seperti gambar berikut
Pada nilai yang di blok warna merah merupakan nilai subtitusi dari dua tabel yaitu tabel Customers dengan jumlah record 91 dan tabel Orders dengan jumlah record 830. Apabila nilai 91 x 830 = 75.530. Untuk lebih paham, silahkan anda coba sendiri dengan memindahkan posisi tabel yang ada dan field yang ingin ditampilkan.
, , ,

Tidak ada komentar:

Posting Komentar