用 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多表查詢時,最好把列名進行唯一性的標識,這樣可以避免產生岐義,也可以讓你自己明了。
如:你執行以下語句
$this->db->select('*');
$this->db->from('blogs');
$this->db->join('comments', 'comments.id = blogs.id');
$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