[记录]TP5多表联查join参数详解

释放双眼,带上耳机,听听看~!

需求:多表联查时 a表id = b表id, a表id = c表id 但c表有的id是空的 就会导致查询出的结果不完整

join通常有下面几种类型,不同类型的join操作会影响返回的数据结果。

参数详解:

INNER: 等同于 JOIN(默认的JOIN类型),如果表中有至少一个匹配,则返回行
LEFT: 即使右表中没有匹配,也从左表返回所有的行
RIGHT: 即使左表中没有匹配,也从右表返回所有的行
FUL: 只要其中一个表中存在匹配,就返回行

写法1:[ '完整表名或者子查询'=>'别名' ]
写法2:'完整表名 别名'
写法3:'不带数据表前缀的表名'

join函数第三个参数类型

关联类型。可以为:INNER、LEFT、RIGHT、FULL,不区分大小写,默认为INNER

举例:

按照文章开头说的需求, 这样就可以查出我们需要的完整的数据

Db::table('aaaaa')
->alias('a')
->join('bbbbb b','a.id = b.id')
->join('ccccc c','a.id = c.id','LEFT')
->select();

-End-

文章来源于互联网:[记录]TP5多表联查join参数详解

人已赞赏
PHP学习笔记杂七杂八

PHP 自定义方法 JSON数据格式美化

2020-11-17 11:09:15

PHP学习笔记杂七杂八

tp5项目 Apache切换nginx环境

2020-11-17 11:09:22

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索