logo

Atšķirība starp Savienību un Savienību All

UNION un UNION ALL ir divi vissvarīgākie SQL operatori, kas tiek izmantoti datu bāzē, lai apvienotu rezultātu kopu no vairākām tabulām. Šie operatori ļauj izmantot vairākus SELECT vaicājumus, izgūt vēlamos rezultātus un pēc tam apvienot tos galīgajā izvadē. . Šajā rakstā mēs redzēsim, kā tie atšķiras viens no otra. Pirms salīdzināšanas mēs īsi apspriedīsimies par šiem operatoriem.

Kas ir Savienības operators?

Union operators MySQL ļauj mums apvienot divus vai vairākus rezultātus no vairākiem SELECT vaicājumiem vienā rezultātu kopā. Tam ir noklusējuma funkcija noņemiet dublētās rindas no galdiem. Šī operatora sintakse vienmēr izmanto kolonnas nosaukumu pirmajā SELECT priekšrakstā kā izvades kolonnu nosaukumus.

MySQL Savienībai ir jāievēro šādi pamatnoteikumi:

  • Kolonnu skaitam un secībai visos vaicājumos jābūt vienādam.
  • Katra atlases vaicājuma atbilstošajai kolonnu pozīcijai ir jābūt saderīgam datu tipam.
  • Dažādos SELECT vaicājumos atlasītajam kolonnas nosaukumam ir jābūt vienā secībā.
  • Pirmā SELECT vaicājuma kolonnas nosaukums būs izvades kolonnu nosaukumi.

PIEZĪME. Mums ir jāzina, ka Savienība un Join atšķiras.

  1. JOIN apvieno datus no vairākām dažādām tabulām, savukārt UNION apvieno datus no vairākām līdzīgām tabulām.
  2. JOIN izvadi pievieno horizontāli, savukārt UNION rezultātu kopu apvieno vertikāli.

Tālāk redzamais vizuālais attēlojums to izskaidro skaidrāk:

Savienība pret visu savienību

Lai uzzinātu vairāk par Savienības operatoru, noklikšķiniet šeit .

Kas ir Union All?

Operators UNION ALL apvieno divus vai vairākus rezultātus no vairākiem SELECT vaicājumiem un atgriež visus ierakstus vienā rezultātu kopā. Tas nenoņem dublētās rindas no SELECT priekšrakstu izvades.

Mēs to varam saprast ar šādu vizuālo attēlojumu.

Savienība pret visu savienību

Union vs Union All Operator

Šajā salīdzināšanas tabulā ir ātri izskaidrotas to galvenās atšķirības:

SAVIENĪBA SAVIENĪBA VISU
Tas apvieno rezultātu kopu no vairākām tabulām un atgriež atšķirīgus ierakstus vienā rezultātu komplektā. Tas apvieno rezultātu kopu no vairākām tabulām un atgriež visus ierakstus vienā rezultātu komplektā.
Tālāk ir sniegts pamats sintakse no UNION operatora:
ATLASĪT kolonnu_saraksts NO tabulas1
SAVIENĪBA
SELECT column_list FROM table2;
Tālāk ir sniegts pamats sintakse no UNION ALL operatora:
ATLASĪT kolonnu_saraksts NO tabulas1
SAVIENĪBA VISU
SELECT column_list FROM table2;
Tam ir noklusējuma funkcija, lai no izvades izņemtu dublētās rindas. Tam nav iespējas no izvades izņemt dublētās rindas.
Tās sniegums ir lēns jo ir nepieciešams laiks, lai atrastu un pēc tam noņemtu dublētus ierakstus. Tās sniegums ir ātrs jo tas nenovērš dublētās rindas.
Lielākā daļa datu bāzes lietotāju izvēlas izmantot šo operatoru. Lielākā daļa datu bāzes lietotāju nevēlas izmantot šo operatoru.

Union un Union All Piemērs

Ļaujiet mums saprast atšķirības starp Union un Union All operatoriem, izmantojot piemēru. Pieņemsim, ka mums ir tabula ar nosaukumu ' Students ' un ' Students2 ', kas satur šādus datus:

Tabula: Students

Savienība pret visu savienību

Tabula: Student2

Savienība pret visu savienību

Pēc SQL priekšraksta atgriež atšķirīgs pilsētu nosaukums no abām tabulām, izmantojot vaicājumu UNION:

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

Pēc iepriekš minētā paziņojuma izpildes mēs iegūsim tālāk norādīto izvadi, jo Savienības operators atgriež tikai atšķirīgās vērtības.

Savienība pret visu savienību

Pēc SQL priekšraksta atgriežas visu pilsētu nosaukumi, ieskaitot dublikātus no abām tabulām, izmantojot vaicājumu UNION ALL:

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

Pēc iepriekš minētā paziņojuma izpildes mēs iegūsim tālāk norādīto izvadi, jo operators Union All atgriež veselus ierakstus, neizslēdzot atšķirīgas vērtības.

Savienība pret visu savienību