内部結合 テーブル内に少なくとも 1 つの一致がある場合、行が返されます。これは結合と同等です。
left join は、右側のテーブルに一致するものがない場合でも、左側のテーブルからすべての行を返します。
right 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();
$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();
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()
以上がthinkPHP3.2 での結合の使用例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。