Union (Kettenoperation 12)
Union-Verwendungsbeispiel:
Db::field('name') ->table('think_user_0') ->union('SELECT name FROM think_user_1') ->union('SELECT name FROM think_user_2') ->select();
Schließungsverwendung:
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();
oder
Db::field('name') ->table('think_user_0') ->union([ 'SELECT name FROM think_user_1', 'SELECT name FROM think_user_2', ]) ->select();
unterstützt UNION ALL Operationen wie:
Db::field('name') ->table('think_user_0') ->unionAll('SELECT name FROM think_user_1') ->unionAll('SELECT name FROM think_user_2') ->select();
oder
Db::field('name') ->table('think_user_0') ->union(['SELECT name FROM think_user_1', 'SELECT name FROM think_user_2'], true) ->select();
Jede Union-Methode entspricht einer unabhängigen SELECT-Anweisung.
Die SELECT-Anweisungen innerhalb der UNION müssen die gleiche Anzahl von Spalten haben. Spalten müssen außerdem ähnliche Datentypen haben. Außerdem muss die Reihenfolge der Spalten in jeder SELECT-Anweisung gleich sein.