SQL atšķirība starp JOIN un SAVIENĪBU

Autors: Laura McKinney
Radīšanas Datums: 2 Aprīlis 2021
Atjaunināšanas Datums: 5 Maijs 2024
Anonim
Difference between JOIN and UNION with Example
Video: Difference between JOIN and UNION with Example

Saturs


JOIN un UNION ir SQL klauzula, ko izmanto, lai apvienotu divu vai vairāku attiecību datus. Bet atšķiras veids, kādā viņi apvieno datus un iegūtā rezultāta formātu. Pievienojieties klauzula apvieno divu attiecību atribūtus, veidojot izrietošos virsrakstus, tā kā, SAVIENĪBA klauzula apvieno divu vaicājumu rezultātu. Apskatīsim atšķirību starp JOIN un UNION, izmantojot zemāk parādīto salīdzināšanas tabulu.

  1. Salīdzināšanas tabula
  2. Definīcija
  3. Galvenās atšķirības
  4. Secinājums

Salīdzināšanas tabula

Salīdzināšanas pamatsPievienojietiesSAVIENĪBA
PamataJOIN apvieno abās atšķirīgajās attiecībās esošos virsrakstu atribūtus, kuriem ir daži kopīgi lauki vai atribūti.SAVIENĪBA apvieno vaicājumā esošo attiecību kopas.
StāvoklisJOIN ir piemērojams, ja abām iesaistītajām attiecībām ir vismaz viens kopīgs atribūts.SAVIENĪBA ir piemērojama, ja vaicājumā esošo kolonnu skaits ir vienāds un atbilstošajiem atribūtiem ir tāds pats domēns.
VeidiIEKŠĒJAIS, PILNIS (ĀRĒJS), KREISĀS PIEVIENOŠANĀS, PAREIZĀS PIEVIENOŠANĀSSAVIENĪBA un SAVIENĪBA VISAS.
EfektsRezultātā iegūto padomu garums ir lielāks, salīdzinot ar iesaistīto attiecību virsrakstiem.Rezultātā iegūto atkārtojumu skaits ir lielāks, salīdzinot ar atkārtojumu skaitu, kas atrodas katrā vaicājumā iesaistītajā attiecībā.
Diagramma



JOIN definīcija

Pievienojieties klauzula SQL apvieno divu attiecību vai tabulu kopas, iegūstot ilgāku kopas lielumu. Iegūtais virsraksts satur atribūtus no abām attiecībām. Atribūti tiek apvienoti, pamatojoties uz kopējiem atribūtiem starp tiem. Dažādie JOIN veidi SQL ir IEKŠĒJAIS PIEVIENOŠANĀS, KREISĀS PIEVIENOŠANĀS, TIESISKĀS PIEVIENOŠANĀS, PILNĀS ĀRĒJĀS PIEVIENOJUMA.

IEKŠĒJAIS APLIECINĀJUMS apvieno tabulas no abām tabulām, ja abām tabulām ir kopīgs atribūts. Kreisais savienojums tiek iegūti visi kreisās tabulas tipi un atbilstošais tabuliņš no labās tabulas. PAREIZI JOIN rezultāti no visiem labās tabulas un tikai no kreisās tabulas atbilstošajiem vienumiem. PILNĪGA ĀRĒJĀ PIEVIENOŠANĀS rezultāti tiek parādīti visos tabulas veidos, kaut arī tiem ir atbilstošie atribūti vai nav.


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

SAVIENĪBAS definīcija

SAVIENĪBA ir noteikta operācija SQL. UNON apvieno divu vaicājumu rezultātu. SAVIENĪBAS rezultāts iekļauj abus attiecībās ietvertos vaicājumus. Nosacījumi, kas jāizpilda, ņem SAVIENĪBU no divām attiecībām:

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

Pastāv divu veidu SAVIENĪBA SAVIENĪBA un SAVIENĪBA VISS. Rezultātā, kas iegūts, izmantojot SAVIENĪBU, nav dublikātu. No otras puses, rezultāts, kas iegūts, izmantojot UNION ALL, saglabā dublikātu.

  1. Galvenā atšķirība starp JOIN un SAVIENĪBU ir tā, ka JOIN apvieno divu attiecību kopsavilkumus, un izrietošie tuples ietver abu attiecību atribūtus. No otras puses, SAVIENĪBA apvieno divu SELECT vaicājumu rezultātu.
  2. JOIN klauzula ir piemērojama tikai tad, ja abām iesaistītajām attiecībām ir vismaz viens atribūts, kas kopīgs abām. 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. Ir četri veidi: JOIN INNER JOIN, LEFT JOIN, PAREIZI JOIN, PILNĪGI ĀRĒJIE JOIN. Bet ir divu veidu SAVIENĪBA, SAVIENĪBA un SAVIENĪBA VISAS.
  4. JOIN sistēmā iegūtajam nosaukumam ir lielāks izmērs, jo tas ietver atribūtus no abām attiecībām. No otras puses, SAVIENĪBĀ tiek palielināts kopiju skaits, kā rezultātā tiek iekļauts kopums no abām vaicājumā esošajām attiecībām.

Secinājums:

Abas ir datu apvienošanas operācijas tiek izmantotas dažādās situācijās. JOIN tiek izmantots, ja vēlamies apvienot divu attiecību atribūtus, kuriem ir vismaz viens kopīgs atribūts. SAVIENĪBA tiek izmantota, kad vēlamies apvienot vaicājumā esošo divu attiecību kopas.