Sunday, July 20, 2014

JOIN



DASAR TEORI

Definisi Join
Join adalah operasi untuk mengambil informasi dari 2 tabel atau lebih dalam 1 waktu. Dengan join baris data dari satu tabel dihubungkan dengan baris data pada tabel lain berdasarkan kolom tertentu.
Klasifikasi Join
• inner join
• outer join
• cross join
• equi join
• natural join
• self join
Dari beberapa macam join tersebut yang banyak digunakan adalah inner join dan outer join




INNER JOIN – ON
1. Penggunaan relasi INNER JOIN adalah untuk menampilkan kedua table yang direlasikan dengan menampilkan record – record yang bersesuaian saja. Sedangkan syntak ON berfungsi menampilkan kedua table lengkap dengan semua fieldnya tanpa menyingkat tampilan field yang direlasikan dengan menampilkan satu kali (field yang berelasi ditampilkan dua kali yaitu saat di deret table pertama lalu di deret table kedua) seperti contoh di bawah.

2.      INNER JOIN – USING
Sama seperti keterangan diatas, penggunaan relasi INNER JOIN adalah untuk menampilkan kedua table yang direlasikan dengan menampilkan record – record yang bersesuaian saja. Sedangkan syntak USING berfungsi menampilkan kedua table dengan field yang direlasikan hanya ditampilkan satu kali di awal table atau terletak paling kiri seperti pada contoh di bawah.


3.      LEFT OUTER JOIN – ON
Penggunaan relasi LEFT OUTER JOIN adalah untuk menampilkan kedua table yang direlasikan dengan menampilkan semua record meskipun tidak bersesuaian dengan table yang lain dengan jumlah record tergantung jumlah record sebelah KIRI. Sedangkan syntak ON berfungsi menampilkan kedua table lengkap dengan semua fieldnya tanpa menyingkat tampilan field yang direlasikan dengan menampilkan satu kali (field yang berelasi ditampilkan dua kali yaitu saat di deret table pertama lalu di deret table kedua) seperti pada gambar di bawah.

4.      LEFT OUTER JOIN – USING
Sama seperti keterangan sebelumnya, penggunaan relasi LEFT OUTER JOIN adalah untuk menampilkan kedua table yang direlasikan dengan menampilkan semua record meskipun tidak bersesuaian dengan table yang lain dengan jumlah record tergantung jumlah record sebelah KIRI. Sedangkan syntak USING berfungsi menampilkan kedua table lengkap dengan field yang direlasikan hanya ditampilkan satu kali saja di awal table atau di sebelah kiri seperti pada gambar di bawah.

5.      NATURAL LEFT OUTER JOIN
Seperti keterangan sebelumnya, penggunaan relasi LEFT OUTER JOIN adalah untuk menampilkan kedua table yang direlasikan dengan menampilkan semua record meskipun tidak bersesuaian dengan table yang lain dengan jumlah record tergantung jumlah record sebelah KIRI. Sedangkan syntak NATURAL mempunyai fungsi sama dengan USING yaitu menampilkan field yang bersesuaian satu kali saja di awal table seperti pada gambar di bawah.

6.      RIGHT OUTER JOIN - ON
Penggunaan relasi RIGHT OUTER JOIN adalah untuk menampilkan kedua table yang direlasikan dengan menampilkan semua record meskipun tidak bersesuaian dengan table yang lain dengan jumlah record tergantung jumlah record sebelah KANAN dan table kedua (dituliskan setelah join) ditampilkan lebih dulu setelah field yang direlasikan. Sedangkan syntak ON berfungsi menampilkan kedua table lengkap dengan semua fieldnya tanpa menyingkat tampilan field yang direlasikan dengan menampilkan satu kali (field yang berelasi ditampilkan dua kali yaitu saat di deret table pertama lalu di deret table kedua) seperti pada gambar di bawah.

7.      RIGHT OUTER JOIN – USING
Penggunaan relasi RIGHT OUTER JOIN adalah untuk menampilkan kedua table yang direlasikan dengan menampilkan semua record meskipun tidak bersesuaian dengan table yang lain dengan jumlah record tergantung jumlah record sebelah KANAN dan table kedua (dituliskan setelah join) ditampilkan lebih dulu setelah field yang direlasikan. Sedangkan syntak USING berfungsi menampilkan kedua table lengkap dengan field yang direlasikan hanya ditampilkan satu kali saja di awal table atau di sebelah kiri seperti pada gambar di bawah.

8.      NATURAL RIGHT OUTER JOIN
Penggunaan relasi RIGHT OUTER JOIN adalah untuk menampilkan kedua table yang direlasikan dengan menampilkan semua record meskipun tidak bersesuaian dengan table yang lain dengan jumlah record tergantung jumlah record sebelah KANAN dan table kedua (dituliskan setelah join) ditampilkan lebih dulu setelah field yang direlasikan. Sedangkan syntak NATURAL mempunyai fungsi sama dengan USING yaitu menampilkan field yang bersesuaian satu kali saja di awal table seperti pada gambar di bawah.

9.      WHERE
Penggunaan syntak WHERE sama dengan penggunaan INNER JOIN – ON yaitu menampilkan kedua table yang direlasikan dengan menampilkan record – record yang bersesuaian saja dan menampilkan semua fieldnya tanpa menyingkat tampilan field yang direlasikan dengan menampilkan satu kali (field yang berelasi ditampilkan dua kali yaitu saat di deret table pertama lalu di deret table kedua) seperti pada gambar di bawah. Keuntungannya dibandingkan dengan INNER JOIN – ON adalah dengan penggunaan WHERE penulisan syntak untuk relasi dengan banyak table lebih mudah.

10.  STRAIGHT JOIN
Penggunaan relasi STRAIGHT JOIN adalah untuk menampilkan kedua table yang direlasikan dengan menampilkan semua record meskipun tidak bersesuaian dengan table yang lain dengan jumlah record adalah hasil kali jumlah record table pertama dengan jumlah record tapi kedua seperti pada gambar di bawah.


11.  CROSS JOIN
Penggunaan relasi CROSS JOIN sama dengan STRAIGHT JOIN yaitu untuk menampilkan kedua table yang direlasikan dengan menampilkan semua record meskipun tidak bersesuaian dengan table yang lain dengan jumlah record adalah hasil kali jumlah record table pertama dengan jumlah record tapi kedua seperti pada gambar di bawah.

12.  UNION
Penggunaan relasi UNION adalah untuk menggabung hasil dari syntak LEFT OUTER JOIN dengan RIGHT OUTER JOIN seperti pada gambar di bawah.

13.  FULL JOIN
Penggunaan FULL JOIN adalah untuk menampilkan kedua table dengan record – record yang bersesuaian saja. Field yang berelasi ditampilkan sekali di awal table atau paling kiri. Lihat gambar di bawah.


 CONTOH SINTAK JOIN

1.      JOIN MENGGUNAKAN INNER JOIN table transaksi dengan table tamu
Masukan query
MENGGUNAKAN SQL 2000:
select TRANSAKSI.ID_TRANSAKSI, TRANSAKSI.LAMA_INAP, TAMU.NAMA



from TAMU, TRANSAKSI

where TRANSAKSI.ID_TRANSAKSI = TAMU.ID_TRANSAKSI
MENGGUNAKAN ORACLE:
select TRANSAKSI.LAMA_INAP, TAMU.NAMA
from TRANSAKSI INNER JOIN TAMU
on TRANSAKSI.ID_TRANSAKSI = TAMU.ID_TRANSAKSI;

2.      JOIN MENGGUNAKAN OUTER JOIN table transaksi dengan tamu
Masukan query
a.      LEFT JOIN
MENGGUNAKAN SQL 2000:
select TRANSAKSI.ID_TRANSAKSI, TRANSAKSI.DOWN_PAYMENT, TAMU.ALAMAT
from TRANSAKSI left join TAMU
on TRANSAKSI.ID_TRANSAKSI = TAMU.ALAMAT



MENGGUNAKAN ORACLE:
Select TRANSAKSI.ID_TRANSAKSI, TRANSAKSI.DOWN_PAYMENT, TAMU.ALAMAT
from TRANSAKSI left join TAMU
on TRANSAKSI.ID_TRANSAKSI = TAMU.ALAMAT


b.      RIGHT JOIN
MELALUI SQL 2000:
select TRANSAKSI.ID_TRANSAKSI, TRANSAKSI.DOWN_PAYMENT, TAMU.NAMA
from TRANSAKSI right join TAMU
on TRANSAKSI.ID_TRANSAKSI = TAMU.NAMA

MELALUI  ORACLE:
select TRANSAKSI.ID_TRANSAKSI, TRANSAKSI.DOWN_PAYMENT, TAMU.NAMA
from TRANSAKSI right join TAMU
on TRANSAKSI.ID_TRANSAKSI = TAMU.NAMA



3.      JOIN MENGGUNAKAN CROSS JOIN table transaksi dengan table tamu
Masukan query
MELALUI SQL 2000:
select TRANSAKSI.ID_TRANSAKSI, TRANSAKSI.DOWN_PAYMENT, TAMU.NAMA
from TRANSAKSI cross join TAMU




MELALUI ORACLE:
select TRANSAKSI.ID_TRANSAKSI, TRANSAKSI.DOWN_PAYMENT, TAMU.NAMA
from TRANSAKSI cross join TAMU

4.      JOIN MENGGUNAKAN UNION JOIN table transaksi dengan table tamu
Masukan query
MELALUI SQL 2000:
select ID_TRANSAKSI from TRANSAKSI UNION SELECT ID_TRANSAKSI from TAMU

MELALUI ORACLE:

select ID_TRANSAKSI from TRANSAKSI UNION SELECT ID_TRANSAKSI from TAMU

1 comment:

  1. Lucky Club Casino Site - Play the Best Online Casino & Get a
    Lucky Club Casino, also known as Lucky Club Casino and LuckyLand Casino, is a well-known luckyclub online casino in India.

    ReplyDelete