天天看點

【ci架構】ci架構查詢中join的使用

用 A表中的每個ID 去查詢這個 ID 在 people 表中的資訊。語句如下:

$this->db->from('A');
$this->db->join('B', 'sites.id = B.id');      

用 A表中的每個ID 去查詢這個 ID 在 B表中的資訊。

注意SQL的約定,如果一個列名在二張表中是重複的,你需要在列名前加上表名和一個“."号。是以sites.id在位置桌子中意謂id所在的表是sites。在進行SQL多表查詢時,最好把列名進行唯一性的辨別,這樣可以避免産生岐義,也可以讓你自己明了。

如:你執行以下語句

  1. $this->db->select('*');
  2. $this->db->from('blogs');
  3. $this->db->join('comments', 'comments.id = blogs.id');
  4. $query = $this->db->get();

相當于 執行這條sql語句 SELECT * FROM blogs JOIN comments ON comments.id = blogs.id

如果你想要在查詢中使用多個連接配接,可以多次調用本函數。

如果你需要指定 JOIN 的類型,你可以通過本函數的第三個參數來指定。可選項包括:left, right, outer, inner, left outer, 以及 right outer.

$this->db->join('comments', 'comments.id = blogs.id', 'left'); // 生成: LEFT JOIN comments ON comments.id = blogs.id