MySQL UNION -operateur
Die MySQL UNION-operateur
Die UNION
operateur word gebruik om die resultaat-stel van twee of meer
SELECT
stellings te kombineer.
- Elke
SELECT
stelling binneUNION
moet dieselfde aantal kolomme hê - Die kolomme moet ook soortgelyke datatipes hê
- Die kolomme in elke
SELECT
stelling moet ook in dieselfde volgorde wees
UNIE Sintaksis
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
UNIE ALLE Sintaksis
Die UNION
operateur kies slegs afsonderlike waardes by verstek. Om duplikaatwaardes toe te laat, gebruik UNION ALL
:
SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;
Let wel: Die kolomname in die resultaatstel is gewoonlik gelyk aan die kolomname in die eerste SELECT
stelling.
Demo-databasis
In hierdie tutoriaal sal ons die bekende Northwind-voorbeelddatabasis gebruik.
Hieronder is 'n keuse uit die "Klante"-tabel:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
En 'n keuse uit die "Verskaffers"-tabel:
SupplierID | SupplierName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Exotic Liquid | Charlotte Cooper | 49 Gilbert St. | London | EC1 4SD | UK |
2 | New Orleans Cajun Delights | Shelley Burke | P.O. Box 78934 | New Orleans | 70117 | USA |
3 | Grandma Kelly's Homestead | Regina Murphy | 707 Oxford Rd. | Ann Arbor | 48104 | USA |
SQL UNION Voorbeeld
Die volgende SQL-stelling gee die stede (slegs afsonderlike waardes) terug vanaf beide die "Klante" en die "Verskaffers" tabel:
Voorbeeld
SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;
Let wel: As sommige kliënte of verskaffers dieselfde stad het, sal elke stad net een keer gelys word, want UNION
kies slegs afsonderlike waardes. Gebruik
UNION ALL
om ook duplikaatwaardes te kies!
SQL UNION ALLE Voorbeeld
Die volgende SQL-stelling gee die stede (ook duplikaatwaardes) terug vanaf beide die "Klante" en die "Verskaffers" tabel:
Voorbeeld
SELECT City FROM Customers
UNION ALL
SELECT City FROM Suppliers
ORDER BY City;
SQL UNIE Met WAAR
Die volgende SQL-stelling gee die Duitse stede (slegs afsonderlike waardes) terug vanaf beide die "Klante" en die "Verskaffers" tabel:
Voorbeeld
SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;
SQL UNIE ALLES Met WAAR
Die volgende SQL-stelling gee die Duitse stede (ook duplikaatwaardes) terug vanaf beide die "Klante" en die "Verskaffers" tabel:
Voorbeeld
SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION ALL
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;
Nog 'n UNIE Voorbeeld
Die volgende SQL-stelling lys alle kliënte en verskaffers:
Voorbeeld
SELECT 'Customer' AS Type, ContactName, City, Country
FROM Customers
UNION
SELECT 'Supplier', ContactName, City, Country
FROM Suppliers;
Let op die "AS Type" hierbo - dit is 'n alias. SQL Aliases word gebruik om 'n tabel of 'n kolom 'n tydelike naam te gee. 'n Alias bestaan slegs vir die duur van die navraag. So, hier het ons 'n tydelike kolom met die naam "Type" geskep, wat lys of die kontakpersoon 'n "Klant" of 'n "Verskaffer" is.