Mengenal Fungsi JOIN pada database
Seperti kita ketahui, pada database seperti MySQL dan lainnya disediakan fitur Join dua atau lebih table untuk memudahkan pengambilan data dengan satu query tanpa mengakses banyak tabel. Adapun fungsi JOIN database itu sendiri adalah untuk mengambil data dari beberapa tabel pada database melalui sebuah kolom yang menghubungkan kedua tabel. Hubungan kedua tabel melalui sebuah kolom tersebut dikenal dengan istilah relational dalam database. Pada Codeigniter, kita dapat memanfaatkan query builder dengan mudah dan cepat untuk menggunakan fungsi JOIN database.Contoh JOIN Database Menggunakan Query Builder pada Codeigniter :
public function joinTabel1Tabel2() { $this->db->join(“tabel2”, “tabel2.id = tabel1.id”); $query = $this->db->get(“tabel1”); return $query->result(); }
Beberapa Jenis JOIN Database
Terdapat beberapa jenis JOIN database, yaitu sebagai berikut.
INNER JOIN
$this->db->join(“tabe2”, “tabel2.id = tabel1.id”, “inner”); $query = $this->db->get(“tabel1”); return $query->result();
LEFT JON
Left JOIN berfungsi untuk mengambil data dari tabel sebelah kiri (tabel utama) dan data yang beririsan dari kedua tabel. Jika tidak ada data yang cocok diantara kedua tabel, maka akan dikembalikkan nilai NULL.
$this->db->join(“tabe2”, “tabel2.id = tabel1.id”, “left”); $query = $this->db->get(“tabel1”); return $query->result();
RIGHT JOIN
Right JOIN berfungsi untuk mengambil data dari tabel sebelah kanan (tabel yang dijoin) dan data yang beririsan. Jika tidak ada data yang cocok, maka akan dikembalikan nilai NULL.
$this->db->join(“tabe2”, “tabel2.id = tabel1.id”, “right”); $query = $this->db->get(“tabel1”); return $query->result();
Fungsi
JOIN dengan Kondisi-kondisi tertentu
Fungsi
JOIN dapat digabungkan dengan fungsi WHERE untuk mengambil data-data spesifik.mengambil
data-data spesifik.
$this->db->join(“tabel2”, “tabel.id = tabel1.id”); $this->db->where(“tabel1.nama_kolom”,”nilai”); $query = $this->db->get(“tabel1”);
Bisa bantu utk script Codeigniter dengan kasus ingin menampilkan tabel A yang tidak ada datanya di table B... terima kasih
ReplyDelete