Saturday, March 3, 2012

Join in SQL


Seperti namanya perintah join berfungsi untuk menggabungkan satu tabel dengan tabel yang lain dengan field yang sama datanya (Primary key – foreign key).  Akan dibahas satu persatu jenis-jenis perintah join;


  •  Inner Join

Dari beberapa tabel yang digabungkan, data yang akan ditampilkan hanya data yang key antara beberapa tabel cocok, jika tidak cocok maka data tidak akan ditampilkan.

Contoh Query:
SELECT MsBranch.PK_MsBranch_ID, MsBranch.BranchCode,MsBranch.BranchName,MsBranch.BranchAddress,
       MsCostCenter.CostCenterCode, MsCostCenter.CostCenterName
FROM   MsBranch INNER JOIN MsCostCenter
       ON  MsBranch.PK_MsBranch_ID = MsCostCenter.FK_MsBranchID

Dari contoh diatas tabel utama ms branch digabungkan dengan tabel kedua ms costcenter, dengan key MsBranch.PK_MsBranch_ID = MsCostCenter.FK_MsBranchID



Inner join dengan design query in editor.



  •  Left Join / Left Outer Join

Jika menggunakan left join, maka data pada tabel utama akan ditampilkan seluruhnya walaupun key tidak cocok dengan tabel kedua.

Contoh Query:
SELECT MsBranch.PK_MsBranch_ID,MsCostCenter.PK_MsCostCenter_ID, MsBranch.BranchCode, MsBranch.BranchName,
         MsBranch.BranchAddress, MsCostCenter.CostCenterCode, MsCostCenter.CostCenterName
FROM   MsBranch LEFT JOIN MsCostCenter
       ON  MsBranch.PK_MsBranch_ID = MsCostCenter.FK_MsBranchID




Dari contoh diatas dapat dilihat, seluruh data branch dimunculkan walaupun tidak memiliki costcenter (data no 1).

Left join dengan design query in editor.



  •  Right Join / Right Outer Join

Kebalikan dari left join, menggunakan right join maka data pada tabel kedua akan ditampilkan seluruhnya walaupun key tidak cocok dengan tabel utama.

Contoh Query:
SELECT MsBranch.PK_MsBranch_ID,MsCostCenter.PK_MsCostCenter_ID, MsBranch.BranchCode, MsBranch.BranchName,
         MsBranch.BranchAddress, MsCostCenter.CostCenterCode, MsCostCenter.CostCenterName
FROM   MsBranch RIGHT JOIN MsCostCenter
       ON  MsBranch.PK_MsBranch_ID = MsCostCenter.FK_MsBranchID

Dari contoh diatas, seluruh data costcenter dimunculkan walaupun tidak memiliki branch.

Right join dengan design query in editor.



  •  Full Join / Full Outer Join

Perintah Full Outer Join untuk menampilkan seluruh data dari beberapa tabel yang digabungkan.

Contoh Query:
SELECT MsBranch.PK_MsBranch_ID,MsCostCenter.PK_MsCostCenter_ID, MsBranch.BranchCode, MsBranch.BranchName,
         MsBranch.BranchAddress, MsCostCenter.CostCenterCode, MsCostCenter.CostCenterName
FROM   MsBranch FULL OUTER JOIN MsCostCenter
       ON  MsBranch.PK_MsBranch_ID = MsCostCenter.FK_MsBranchID

Full Outer join dengan design query in editor.


No comments:

Post a Comment