összefoglaló: ebben a bemutatóban megtudhatja, hogyan kell használni a MySQL UNION
operátort, hogy két vagy több eredménykészletet kombináljon több SELECT
állításokkal egyetlen eredménykészletbe.
MySQL UNION operator
MySQL UNION
az operátor lehetővé teszi, hogy két vagy több eredménykészletet egyesítsen egyetlen eredménykészletbe., A következő szemlélteti a szintaxis a UNION
operátor:
kombinálni eredmény sor két vagy több lekérdezések használata a UNION
üzemeltető, ezek az alapvető szabályokat kell követni:
- Első, a szám a megrendelések oszlopok jelennek meg minden
SELECT
kimutatások azonos kell, hogy legyen. - másodszor, az oszlopok adattípusainak azonosnak vagy kompatibilisnek kell lenniük.,
alapértelmezés szerint aUNION
operátor eltávolítja az ismétlődő sorokat, még akkor is, ha nem adja meg aDISTINCT
operátort.,
nézzük a következő minta táblázatokban: t1
vagy t2
:
A következő nyilatkozatot egyesíti eredmény határozza tért vissza t1
vagy t2
táblázatok:
Code language: SQL (Structured Query Language) (sql)
A végeredmény készlet tartalmazza a különböző értékek a külön eredmény állítja vissza a lekérdezések:
Code language: SQL (Structured Query Language) (sql)
Mert a sorok értéke 2, illetve 3 ismétlődések, a UNION
távolítani őket, folyton csak egyedi értékek.,
a következő Venn-diagram a t1
és t2
táblázatok:
Ha a UNION ALL
kifejezést használja, a duplikált sorok, ha rendelkezésre állnak, az eredményben maradnak. Mivel aUNION ALL
nem kell kezelni a másolatokat, gyorsabban teljesít, mint aUNION DISTINCT
.,
Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)
mint látható, a duplikátumok a UNION ALL
művelet miatt jelennek meg a kombinált eredménykészletben.
UNION vs. JOIN
a JOIN
kombinálja az eredményhalmazokat vízszintesen, a UNION
hozzáfűzi az eredményhalmazt függőlegesen.,ké adatbázis bemutató:
Hiszem, hogy szeretnéd, hogy összekapcsolják a vezetéknév az alkalmazottak, mind az ügyfelek egyetlen eredmény beállítása, használja a UNION
üzemeltető a következőképpen:
Code language: SQL (Structured Query Language) (sql)
Mint látható, a kimenet, a MySQL UNION
használja az oszlop nevét, az első SELECT
nyilatkozat a oszlopfejléceket a kimenet.,
ha más oszlopfejléceket szeretne használni, akkor az első SELECT
nyilatkozatban kifejezetten az oszlop aliasokat kell használnia, amint az a következő példában látható:
Ez a példa a kimenet első lekérdezésének oszlopfejezetét használja. ACONCAT()
függvényt használja a keresztnév, a szóköz és a vezetéknév összefűzéséhez teljes névként.,
MySQL UNIÓ ORDER BY
Ha meg szeretnénk rendezni az eredményt, állítsa be az unió egy ORDER BY
záradék a múlt SELECT
utasítás, ahogy azt az alábbi példa is:
Figyeljük meg, hogy ha a ORDER BY
záradék az egyes SELECT
nyilatkozatot, ez nem befolyásolja majd a sorok sorrendje a végeredmény beállítása.,
az alkalmazottak és az ügyfelek közötti különbségtételhez hozzáadhat egy oszlopot a következő lekérdezés szerint:
a MySQL alternatív lehetőséget kínál az oszlophelyzet alapján beállított eredmény rendezésére a ORDER BY
záradék az alábbiak szerint:
azonban nem jó gyakorlat az oszloppozíció szerint beállított eredmény rendezése.
ebben az oktatóanyagban megtanulta, hogyan kell használni a MySQL UNION
nyilatkozatot, hogy több lekérdezés adatait egyetlen eredménykészletbe egyesítse.,
- hasznos volt ez a bemutató?
- YesNo