版权声明:该文章来源于CBDLL的博客,转载请备注 https://blog.csdn.net/CB_1213/article/details/85685740
JOIN
JOIN方法也是连贯操作方法之一,用于根据两个或多个表中的列之间的关系,从这些表中查询数据。
join通常有下面几种类型,不同类型的join操作会影响返回的数据结果。
- INNER JOIN: 等同于 JOIN(默认的JOIN类型),如果表中有至少一个匹配,则返回行
- LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
- RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
- FULL JOIN: 只要其中一个表中存在匹配,就返回行
$Model->join('表1 ON 表2.id = 表1.artist_id')
->join('表3 ON 表1.card_id = id')
->select();
如果join方法的参数用数组的话,只能使用一次join方法,并且不能和字符串方式混合使用。 例如:
join(array('表1 ON 表2.id = 表1.artist_id','表3 ON 表2.card_id = 表3.id'))
使用数组方式的情况下,第二个参数无效。因此必须在字符串中显式定义join类型,例如:
join(array(' LEFT JOIN 表1 ON 表2.id = 表1.artist_id','RIGHT JOIN 表3 ON 表2.card_id ));