sql >> Database teknologi >  >> RDS >> SQLite

SQLite Union

Oversigt :i denne vejledning lærer du, hvordan du bruger SQLite UNION operator til at kombinere resultatsæt af to eller flere forespørgsler til et enkelt resultatsæt.

Introduktion til SQLite UNION operatør

Nogle gange skal du kombinere data fra flere tabeller til et komplet resultatsæt. Det kan være til tabeller med lignende data i den samme database, eller måske skal du kombinere lignende data fra flere databaser.

For at kombinere rækker fra to eller flere forespørgsler til et enkelt resultatsæt, bruger du SQLite UNION operatør. Det følgende illustrerer den grundlæggende syntaks for UNION operatør:

query_1
UNION [ALL]
query_2
UNION [ALL]
query_3
...;Code language: SQL (Structured Query Language) (sql)

Begge UNION og UNION ALL operatører kombinerer rækker fra resultatsæt til et enkelt resultatsæt. UNION operatør fjerner eliminer duplikerede rækker, mens UNION ALL operatøren ikke.

Fordi UNION ALL operatøren fjerner ikke duplikerede rækker, den kører hurtigere end UNION operatør.

Følgende er regler for fagforeningsdata:

  • Antallet af kolonner i alle forespørgsler skal være det samme.
  • De tilsvarende kolonner skal have kompatible datatyper.
  • Kolonnenavnene for den første forespørgsel bestemmer kolonnenavnene for det kombinerede resultatsæt.
  • GROUP BY og HAR klausuler anvendes på hver enkelt forespørgsel, ikke det endelige resultatsæt.
  • ORDER BY klausul anvendes på det kombinerede resultatsæt, ikke inden for det individuelle resultatsæt.

Bemærk, at forskellen mellem UNION og JOIN f.eks. INNER JOIN eller LEFT JOIN er at JOIN klausul kombinerer kolonner fra flere relaterede tabeller, mens UNION kombinerer rækker fra flere lignende tabeller.

Antag, at vi har to tabeller t1 og t2 med følgende strukturer:

CREATE TABLE t1(
    v1 INT
);
 
INSERT INTO t1(v1)
VALUES(1),(2),(3);
 
CREATE TABLE t2(
    v2 INT
);
INSERT INTO t2(v2)
VALUES(2),(3),(4);Code language: SQL (Structured Query Language) (sql)

Følgende sætning kombinerer resultatsættene af t1- og t2-tabellen ved hjælp af UNION operatør:

SELECT v1
  FROM t1
UNION
SELECT v2
  FROM t2;Code language: SQL (Structured Query Language) (sql)

Her er outputtet:

Det følgende billede illustrerer UNION drift af t1- og t2-tabeller:

Følgende sætning kombinerer resultatsættene af t1- og t2-tabellen ved hjælp af UNION ALL operatør:

SELECT v1
  FROM t1
UNION ALL
SELECT v2
  FROM t2;Code language: SQL (Structured Query Language) (sql)

Følgende billede viser output:

Det følgende billede illustrerer UNION ALL drift af resultatsættene af t1- og t2-tabeller:

SQLite UNION eksempler

Lad os tage nogle eksempler på brug af UNION operatør.

1) SQLite UNION eksempel

Denne sætning bruger UNION operatør for at kombinere navne på medarbejdere og kunder til en enkelt liste:

SELECT FirstName, LastName, 'Employee' AS Type
FROM employees
UNION
SELECT FirstName, LastName, 'Customer'
FROM customers;

Code language: SQL (Structured Query Language) (sql)

Her er outputtet:

2) SQLite UNION med ORDER BY eksempel

Dette eksempel bruger UNION operatør til at kombinere navnene på medarbejdere og kunder til en enkelt liste. Derudover bruger den ORDER BY klausul for at sortere navnelisten efter fornavn og efternavn.

SELECT FirstName, LastName, 'Employee' AS Type
FROM employees
UNION
SELECT FirstName, LastName, 'Customer'
FROM customers
ORDER BY FirstName, LastName;Code language: SQL (Structured Query Language) (sql)

Her er outputtet:

I denne øvelse har du lært, hvordan du bruger SQLite UNION operator til at kombinere rækker fra resultatsæt til et enkelt resultatsæt. Du lærte også forskellene mellem UNION og UNION ALL operatører.


  1. Relationelt databasestyringssystem (RDBMS):MSSQL vs MySQL

  2. installere Oracle Instantclient på Mac OS/X uden at indstille miljøvariabler?

  3. Microsoft SQL Server 2005/2008:XML vs tekst/varchar datatype

  4. ændre størrelsen på datatype i sql