Union (チェーン操作 12)
ユニオンの使用例:
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') ->unionAll('SELECT name FROM think_user_1') ->unionAll('SELECT name FROM think_user_2') ->select();
or
Db::field('name') ->table('think_user_0') ->union(['SELECT name FROM think_user_1', 'SELECT name FROM think_user_2'], true) ->select();
各共用体メソッドは、独立した SELECT ステートメントと同等です。
UNION 内の SELECT ステートメントには、同じ数の列が必要です。列にも同様のデータ型が必要です。また、各 SELECT ステートメント内の列の順序は同じである必要があります。