sql >> Databáze >  >> RDS >> SQLite

Operátor SQLite UNION

V SQLite, UNION operátor vytvoří složený SELECT příkaz, který vrací výsledky levého a pravého SELECT prohlášení. Jinými slovy, kombinuje výsledky ze dvou dotazů do jediné sady výsledků.

Příklad

Předpokládejme, že máme následující tabulky:

SELECT * FROM Teachers;
SELECT * FROM Students;

Výsledek:

TeacherId  TeacherName
---------  -----------
1          Warren     
2          Ben        
3          Cathy      
4          Cathy      
5          Bill       
6          Bill       

StudentId  StudentName
---------  -----------
1          Faye       
2          Jet        
3          Spike      
4          Ein        
5          Warren     
6          Bill       

Můžeme použít UNION operátor vrátit všechny učitele a studenty:

SELECT TeacherName FROM Teachers
UNION
SELECT StudentName FROM Students;

Výsledek:

TeacherName
-----------
Ben        
Bill       
Cathy      
Ein        
Faye       
Jet        
Spike      
Warren     

Ve výchozím nastavení UNION operátor implicitně aplikuje DISTINCT úkon. Jinými slovy, ve výchozím nastavení vrací pouze odlišné hodnoty. Výše uvedené výsledky tedy obsahují pouze jeden Warren, Cathy a Bill. A to i přesto, že kombinované stoly ve skutečnosti obsahují dva Warreny, dvě Cathy a tři Billy (jsou tam dva učitelé Cathy, učitel a zákazník jménem Warren a dva Bill a jeden student Bill).

Zahrnout duplikáty

Můžeme použít ALL klíčové slovo pro zahrnutí duplicitních hodnot do výsledků:

SELECT TeacherName FROM Teachers
UNION ALL
SELECT StudentName FROM Students;

Výsledek:

TeacherName
-----------
Warren     
Ben        
Cathy      
Cathy      
Bill       
Bill       
Faye       
Jet        
Spike      
Ein        
Warren     
Bill       

Tentokrát jsme dostali dvanáct řádků místo osmi, které jsme dostali v našem prvním příkladu.

Vidíme, že obě Cathy byly vráceny a všechny tři účty byly vráceny.


  1. MySQL – Chyba připojení – [MySQL][Ovladač ODBC 5.3(w)]Hostitel „IP“ se nemůže připojit k tomuto serveru MySQL

  2. Tři výhry výkonu Easy SQL Server

  3. Jak mám uložit GUID v tabulkách MySQL?

  4. Vytvořte tabulku Excelu z databáze Oracle