UNION操作用于合并两个或多个 SELECT 语句的结果集。

使用示例:

Db::field('name')
      ->table('think_user_0')
      ->union('SELECT name FROM think_user_1')
      ->union('SELECT name FROM think_user_2')
      ->select();

闭包用法:

Db::field('name')
      ->table('think_user_0')
      ->union(function($query){
      	$query->field('name')->table('think_user_1');
        })
      ->union(function($query){
      	$query->field('name')->table('think_user_2');
        })
      ->select();

或者

Db::field('name')
      ->table('think_user_0')
      ->union(['SELECT name FROM think_user_1','SELECT name FROM think_user_2'])
      ->select();

支持UNION ALL 操作,例如:

Db::field('name')
      ->table('think_user_0')
      ->union('SELECT name FROM think_user_1',true)
      ->union('SELECT name FROM think_user_2',true)
      ->select();

或者

Db::field('name')
      ->table('think_user_0')
      ->union(['SELECT name FROM think_user_1','SELECT name FROM think_user_2'],true)
      ->select();

每个union方法相当于一个独立的SELECT语句。

注意:UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。


 小秋同学  数据库  2021-03-25 07:44:51    收藏:  赞(628)
源码网-一个不错的学习网站
本文地址:https://www.yuanma.cc/article/shujuku/1647.html 复制链接 如果还有疑问,欢迎加入我们的QQ交流群:887790 加入Q群 易优最新程序下载: 点击下载
QQ在线咨询