mysql中join用法 内连接 1.概念:内联接是用比较运算符比较要联接列的值的联接 2.内连接:join 或 inner join 3.sql语句 select * from table1 join table2 on table1.id=table2.id -------------结果------------- idnameidscore ------------------------------ 1lee190 2zhang2100 ------------------------------ 注释:只返回符合条件的table1和table2的列 4.等价(与下列执行效果相同) A:select a.*,b.* from table1 a,table2 b where a.id=b.id B:select * from table1 cross join table2 where table1.id=table2.id (注:cross join后加条件只能用where,不能用on) ci中join用法 那么在ci中又会有什么区别呢 例:用 A表中的每个ID 去查询这个 ID 在 people 表中的信息 $this->db->from('A'); 用 A表中的每个ID 去查询这个 ID 在 B表中的信息。 注意SQL的约定,如果一个列名在二张表中是重复的,你需要在列名前加上表名和一个"."号。因此sites.id在位置桌子中意谓id所在的表是sites。在进行SQL多表查询时,最好把列名进行唯一性的标识,这样可以避免产生岐义,也可以让你自己明了。 如:你执行以下语句 $this->db->select('*'); 相当于 执行这条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 |