logo

Skillnaden mellan Union och Union All

UNION och UNION ALL är de två viktigaste SQL-operatorerna som används i databasen för att kombinera resultatuppsättningen från flera tabeller. Dessa operatorer tillåter oss att använda flera SELECT-frågor, hämta de önskade resultaten och sedan kombinera dem till en slutlig utdata . I den här artikeln ska vi se hur de skiljer sig från varandra. Innan vi gör en jämförelse kommer vi kortfattat att diskutera dessa operatörer.

fördelarna med elektricitet

Vad är en unionsoperatör?

Union operator i MySQL tillåter oss att kombinera två eller flera resultat från flera SELECT-frågor till en enda resultatuppsättning. Den har en standardfunktion till ta bort dubblettraderna från borden. Denna operatorsyntax använder alltid kolumnens namn i den första SELECT-satsen för att vara kolumnnamnen för utdata.

MySQL Unionen måste följa dessa grundläggande regler:

  • Antalet och ordningen på kolumnerna bör vara samma i alla frågor.
  • Motsvarande kolumnposition för varje urvalsfråga måste ha en kompatibel datatyp.
  • Kolumnnamnet som valts i de olika SELECT-frågorna måste vara i samma ordning.
  • Kolumnnamnet för den första SELECT-frågan kommer att vara kolumnnamnen för utdata.

OBS: Vi måste veta att Union och Join är olika.

  1. JOIN kombinerar data från flera olika tabeller, medan UNION kombinerar data från flera liknande tabeller.
  2. JOIN lägger till resultatet horisontellt, medan UNION kombinerar resultatet vertikalt.

Den visuella representationen nedan förklarar det tydligare:

Union vs Union All

För att läsa mer information om Union-operatören, klicka här.

Vad är Union All?

UNION ALL-operatorn kombinerar två eller flera resultat från flera SELECT-frågor och returnerar alla poster till en enda resultatuppsättning. Den tar inte bort dubblettraderna från utdata från SELECT-satserna.

Vi kan förstå det med följande visuella representation.

Union vs Union All

Union vs. Union All Operator

Följande jämförelsetabell förklarar deras huvudsakliga skillnader på ett snabbt sätt:

UNION UNION ALLA
Den kombinerar resultatuppsättningen från flera tabeller och returnerar distinkta poster till en enda resultatuppsättning. Den kombinerar resultatuppsättningen från flera tabeller och returnerar alla poster till en enda resultatuppsättning.
Följande är det grundläggande syntax av UNION-operatör:
VÄLJ kolumnlista FRÅN tabell1
UNION
VÄLJ kolumnlista FRÅN tabell2;
Följande är det grundläggande syntax av UNION ALL-operatör:
VÄLJ kolumnlista FRÅN tabell1
UNION ALLA
VÄLJ kolumnlista FRÅN tabell2;
Den har en standardfunktion för att eliminera dubblettraderna från utdata. Den har ingen funktion för att eliminera dubblettraderna från utgången.
Dess prestandan är långsam eftersom det tar tid att hitta och sedan ta bort dubbletter av poster. Dess prestandan är snabb eftersom det inte eliminerar dubblettraderna.
De flesta databasanvändare föredrar att använda denna operator. De flesta databasanvändare föredrar inte att använda denna operator.

Union och Union Alla exempel

Låt oss förstå skillnaderna mellan Union och Union Alla operatörer genom ett exempel. Anta att vi har en tabell som heter ' Studerande ' och ' Student 2 ' som innehåller följande data:

Tabell: Student

Union vs Union All

Tabell: Elev2

Union vs Union All

Efter SQL-satsen returnerar distinkt namn på städer från båda tabellerna med hjälp av UNION-frågan:

 SELECT City FROM student UNION SELECT City FROM student2 ORDER BY City; 

Efter att ha kört ovanstående uttalande kommer vi att få utdata nedan eftersom unionsoperatören endast returnerar de distinkta värdena.

Union vs Union All

Följande SQL-sats returneras alla städers namn inklusive dubbletter från båda tabellerna med hjälp av UNION ALL-frågan:

 SELECT City FROM student UNION ALL SELECT City FROM student2 ORDER BY City; 

Efter att ha kört ovanstående sats kommer vi att få utdata nedan eftersom Union All-operatören returnerar hela poster utan att eliminera distinkta värden.

Union vs Union All