Kali ini  saya akan berbagi bagaimana  cara join sql server  dan beberapa contoh query Join, Join merupakan Query Sql yang ada pada Sql Server yang memungkinkan kita menampilkan data yang ada pada database Sql Server.

Dalam penerapannya kita dapat menampilkan beberapa data tabel yang di peroleh dari sumber tabel berbeda-beda, dengan syarat tabel dalam database saling berelasi satu sama lain.

Penerapan Query Join disini kita dapat memperhatikan relasi  tabel sebagai panduan dalam alur relasi yang dilewati ketika melakukan Join antar tabel. Coba mari kita simak dengan beberapa studi kasus berikut.


Apa itu join ? 

      Join adalah cara untuk menghubungkan data yang diambil dari tabel-tabel melalui sebuah kolom yang menghubungkan mereka. Misal, pembaca mungkin ingin menghubungkan tabel alamat dengan tabel nomor telepon berdasarkan nama seseorang (contoh: "Berikan saya alamat dan nomor telepon seseorang yang bernama John Smith.


TABEL ERD (AKADEMIK_PRO)




Contoh-contoh Query Join

- FULL JOIN
  Penggabungan dua buah tabel akan membentuk perkalian kartesian (cartesian product),atau biasa.

  Contoh sintak query
  SELECT MAHASISWA.nama, PENDIDIKAN.nmpendidikan
 FROM MAHASISWA,PENDIDIKAN


- CROSS JOIN
       Cross Join berguna melakukan operasi cross join atau perkalian kartesian. Pemakaiannya di                letakkan     pada klausa  FROM.

   Contoh sintak query
SELECT * FROM DOSEN CROSS JOIN PENDIDIKAN



- INNER JOIN
      Inner join mungkin tipe join yang paling banyak dipakai. Inner join mengembalikan baris-            baris    dari dua tabel atau lebih yang memenuhi syarat.

  Contoh sintak query
SELECT nmdosen,nmpendidikan
FROM DOSEN
INNER JOIN PENDIDIKAN
ON dosen.idpendidikan = pendidikan.idpendidikan;


- OUTER JOIN

   Contoh sintak query
SELECT MAHASISWA.nama, STATUS_AKADEMIK.nmstatusaka
 FROM MAHASISWA,STATUS_AKADEMIK
 WHERE MAHASISWA.idstatusaka = STATUS_AKADEMIK.idstatusaka;


- LEFT OUTER JOIN
     Left outer join (sering disingkat left join) akan mengembalikan seluruh baris dari tabel     disebelah kiri yang dikenai kondisi ON dan hanya baris dari tabel disebelah kanan yang           memenuhi kondisi join.

   Contoh sintak query
SELECT nmdosen, gelar, nmpendidikan
FROM DOSEN
LEFT OUTER JOIN PENDIDIKAN ON DOSEN.idpendidikan=PENDIDIKAN.idpendidikan ;


- RIGHT OUTER JOIN
     Right outer join (sering disingkat right join) akan mengembalikan semua baris dari tabel     sebelah      kanan yang dikenai kondisi ON dengan data dari tabel sebelah kiri yang memenuhi     kondisi join.        Teknik ini merupakan kebalikan dari left outer join.

   Contoh sintak query
SELECT nmdosen, gelar, nmpendidikan
FROM DOSEN
RIGHT OUTER JOIN PENDIDIKAN ON DOSEN.idpendidikan =PENDIDIKAN.idpendidikan ;


- FULL OUTER JOIN
      Full outer join (sering disingkat full join) akan mengembalikan seluruh baris dari kedua          tabel    yang dikenai ON termasuk data-data yang bernilai NULL.

   Contoh sintak query
SELECT nmdosen,nmpendidikan
 FROM DOSEN
 FULL OUTER JOIN PENDIDIKAN
 ON dosen.idpendidikan = pendidikan.idpendidikan
 WHERE nmpendidikan='S1';


- EQUAL JOIN
       Equaljoin = Penggabungan antartabel yang menggunakan operator sama dengan (=) pada kondisi      dalam klausa WHERE untuk membandingkan satu kolom dengan kolom lainnya.

   Contoh sintak query
SELECT MAHASISWA.nama,STATUS_AKADEMIK.idstatusaka
 FROM MAHASISWA, STATUS_AKADEMIK
 WHERE MAHASISWA.idstatusaka = STATUS_AKADEMIK.idstatusaka


- SELF JOIN
   Selfjoin  merupakan upaya penggabungan dari tabel yang sama.

   Contoh sintak query
SELECT a.nama, B.nama
FROM MAHASISWA as A, MAHASISWA as B
WHERE A.idmhs ='16' AND B.idmhs ='17'


- NATURAL JOIN 
      Natural Join Penggabungan dua buah tabel atau lebih yang menggunakan kolom yang                          berkedudukan      sebagai kunci tamu  Dan kunci primer (sekalipun hanya dalam desain basis                  data) sebagai penghubung.

   Contoh sintak query
SELECT DOSEN.nmdosen,DOSEN.gelar,PENDIDIKAN.nmpendidikan
 FROM DOSEN,PENDIDIKAN
 WHERE DOSEN.idpendidikan = PENDIDIKAN.idpendidikan