Ieteicams, 2021

Redaktora Izvēle

Atšķirība starp JOIN un UNION SQL

JOIN un UNION ir SQL noteikumi, ko izmanto, lai apvienotu divu vai vairāku attiecību datus. Bet tas, kādā veidā tie apvieno iegūtā rezultāta datus un formātu, atšķiras. JOIN klauzula apvieno divu attiecību atribūtus, lai veidotu rezultātus, bet UNION klauzula apvieno divu vaicājumu rezultātus. Apspriedīsim atšķirību starp JOIN un UNION, izmantojot zemāk redzamo salīdzināšanas diagrammu.

Salīdzinājuma diagramma

Salīdzinājuma pamatsPievienotiesSAVIENĪBA
PamataJOIN apvieno divu atšķirīgo attiecību atribūtus, kas ir kopīgi ar kopīgiem laukiem vai atribūtiem.SAVIENĪBA apvieno vaicājumā esošās attiecības.
StāvoklisJOIN ir piemērojams, ja abām iesaistītajām attiecībām ir vismaz viens kopīgs atribūts.UNION ir piemērojams, ja vaicājumā esošo kolonnu skaits ir vienāds un attiecīgajiem atribūtiem ir viens un tas pats domēns.
VeidiINNER, FULL (OUTER), LEFT JOIN, RIGHT JOIN.SAVIENĪBA UN SAVIENĪBA.
IetekmeRezultātu kopu garums ir vairāk, salīdzinot ar iesaistīto attiecību ilgumu.Rezultātu skaits ir lielāks, salīdzinot ar katras sakarībā esošo partiju skaitu.
Diagramma

JOIN definīcija

SQL savienojuma klauzula apvieno divus sakarus vai tabulas, kuru rezultāts ir garāks. Rezultātā iegūtais tuple satur gan attiecības, gan atribūtus. Atribūti ir apvienoti, pamatojoties uz tiem raksturīgajām īpašībām. Dažādi JOIN veidi SQL ir INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN.

INNER JOIN apvieno abu tabulu kopas, ja abiem ir kopīgs atribūts. LEFT JOIN (kreisais savienojums) izraisa visas labās tabulas kreisās tabulas un atbilstošās kopas. RIGHT JOIN ( labā savienošana) rada visas labās tabulas vienības un tikai atbilstošo vienību no kreisās tabulas. PILNĪGA ĀRĒJAIS PIEVIENOŠANA rada visas tabulas tabulas, lai gan tām ir atbilstošie atribūti vai nav.

INNER JOIN ir tāds pats kā JOIN. Varat arī nomest INNER atslēgvārdu un vienkārši izmantot JOIN, lai veiktu INNER JOIN.

UNION definīcija

SAVIENĪBA ir noteikta operācija SQL. UNON apvieno divu vaicājumu rezultātus. UNION rezultāts ietver sekvences no abām sakarībā esošajām attiecībām. Nosacījumi, kas jāizpilda, lai savienotos ar divām attiecībām, ir:

  1. Abām attiecībām ir jābūt vienādam atribūtu skaitam.
  2. Attiecīgā atribūta domēniem jābūt vienādiem.

Ir divi SAVIENĪBAS veidi, kas ir UNION un UNION ALL . Rezultātā, kas iegūts, izmantojot UNION, nav dublikātu. No otras puses, rezultāts, kas iegūts, izmantojot UNION ALL, saglabā dublikātus.

Galvenās atšķirības starp JOIN un UNION SQL

  1. Galvenā atšķirība starp JOIN un UNION ir tā, ka JOIN apvieno divus sakarus un iegūtās kopas ietver gan attiecībās esošās atribūtus. No otras puses, SAVIENĪBA apvieno divu SELECT vaicājumu rezultātus.
  2. JOIN klauzula ir piemērojama tikai tad, ja abām iesaistītajām attiecībām ir vismaz viens atribūts, kas ir kopīgs abās. No otras puses, SAVIENĪBA ir piemērojama, ja abām attiecībām ir vienāds atribūtu skaits un atbilstošo atribūtu domēni ir vienādi.
  3. Pastāv četri savienojuma iekšējo savienojumu veidi, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN. Bet ir divu veidu UNION, UNION un UNION ALL.
  4. JOIN rezultātā iegūtajam ierakstam ir lielāks izmērs, jo tas ietver gan attiecības, gan atribūtus. No otras puses, UNIONā tiek palielināts vienību skaits, kā rezultātā tiek iekļauta summa no abām sakarībā esošajām attiecībām.

Secinājums:

Abas datu apvienošanas darbības tiek izmantotas dažādās situācijās. JOIN tiek izmantots, ja mēs vēlamies apvienot divu attiecību atribūtus, kuriem ir vismaz viens kopīgs atribūts. SAVIENĪBA tiek izmantota, ja mēs vēlamies apvienot abu attiecību attiecības, kas atrodas vaicājumā.

Top