thinkPHP3.2 中join用法实例

小云云
发布: 2023-03-21 06:36:02
原创
4238 人浏览过

inner join  如果表中至少 有一个匹配,在则返回行,等同与 join 。

left    join  即使 有右表中没有匹配 ,也从左表中返回所有的行。

right join  即使左表中没有匹配,也从右表中返回所有的行。

full    join  只要其中一个表中匹配,就返回行。

 $lists = $this->orderModel
     ->alias('t')
     ->field('t.*,o.order_id as ccsid')
      ->join('left join __ORDER__ as o on t.order_id = o.third_order_id  and t.source = o.source')
      ->where($map)
      ->order("create_time DESC")
      ->limit($page->firstRow . ',' . $page->listRows)
      ->select();
登录后复制

Tp语法注释:

$lists = $this->orderModel              // M('third_order');
    ->alias('t')                        // 别名
    ->field('t.*,o.order_id as ccsid')  // 要查的字段
    ->join('left join __ORDER__ as o on t.order_id = o.third_order_id  and t.source = o.source')
    //关联表(左链接  order表 as o 别名  on关系 t.xx = o.xxx          and  t.xxx  =  o.xxx  )
    ->where($map)                       // 条件
    ->order("create_time DESC")         // 排序
    ->limit($page->firstRow . ',' . $page->listRows)  // 取几条
    ->select();
登录后复制

解析的sql 语句为:

            
     SELECT    t.*,o.order_id as ccsid 
     FROM    db_third_order t 
     left join   db_order as o 
     on  t.order_id = o.third_order_id and t.source = o.source 
     WHERE   t.status <> 0 
     ORDER BY  create_time DESC 
     LIMIT     0,20
登录后复制


原生sql注释 :

select 表名(别名).* , 表名(别名). 字段 as 别名
from 主表 空格 别名(t)
left join 从表 as 别名 (o)
on   t.xxx = o.xxx   and   t.xxx = o.xxx   <表关系>
where  条件  
order by  字段名 desc   倒叙
limit  0,20
登录后复制

相关推荐:

实例详解javaScript中split与join的区别

JavaScript把数组中的所有元素放入一个字符串的方法join()

php join函数的使用代码实例

以上是thinkPHP3.2 中join用法实例的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!