Erinevus liitumise ja liidu vahel SQL-is

Autor: Laura McKinney
Loomise Kuupäev: 2 Aprill 2021
Värskenduse Kuupäev: 5 Mai 2024
Anonim
Suspense: Summer Night / Deep Into Darkness / Yellow Wallpaper
Videot: Suspense: Summer Night / Deep Into Darkness / Yellow Wallpaper

Sisu


JOIN ja UNION on SQL-i klauslid, mida kasutatakse kahe või enama seose andmete ühendamiseks. Kuid viis, kuidas nad andmeid ja saadud tulemuse vormingut ühendavad, on erinev. LIITU klausel ühendab kahe suhte atribuudid, et moodustada tulemuseks olevad tüübid, arvestades, LIIDU klausel ühendab kahe päringu tulemuse. Arutleme erinevuse JOIN ja UNION vahel, kasutades allpool toodud võrdlustabelit.

  1. Võrdlusdiagramm
  2. Definitsioon
  3. Peamised erinevused
  4. Järeldus

Võrdlusdiagramm

Võrdluse alusLIITULIIDU
PõhilineJOIN ühendab kahes erinevas seos esinevate tüüpide atribuudid, millel on mõned ühised väljad või atribuudid.UNION ühendab päringus sisalduvate suhete tüübid.
SeisundJOIN on rakendatav, kui kahel kaasatud suhtel on vähemalt üks ühine atribuut.UNION on rakendatav, kui päringus sisalduvate veergude arv on sama ja vastavatel atribuutidel on sama domeen.
TüübidSISEMINE, TÄIS (VÄLIS), VASAK LIITUMINE, PAREM LIITUMINE.LIIDU JA LIIDU KÕIK.
EfektSaadud tüüpide pikkus on rohkem võrreldes kaasatud suhete tsüklite pikkusega.Saadud korduste arv on suurem, võrreldes kõigis päringus osalenud suhetes esinevate tüüpide arvuga.
Skeem



Liitumise määratlus

LIITU SQL-i lause ühendab kahe suhte või tabelite tüübid, andes tulemuseks pikema paketi suuruse. Saadud tüüp sisaldab mõlemast seosest pärit atribuute. Atribuudid kombineeritakse nendevaheliste ühiste atribuutide põhjal. SQL-is on JOIN-i erinevad tüübid SISEMINE LIITUMINE, VASAK LIITUMINE, PAREM LIITUMINE, TÄISVABA LIITUMINE.

Siseühendus ühendab mõlemast tabelist koosnevad tüübid, kui nende kahe vahel on ühine atribuut. VASAK LIITUMINE tulemuseks on kõik vasakpoolse tabeli tüübid ja parempoolsest tabelist vastavad tüübid. ÕIGE LIITUMINE tulemuseks on kõik parempoolsest tabelist pärit tüübid ja vasakult tabelist ainult vastavad tüübid. TÄIELIK VÄLISLIITUMINE annab tulemuseks mõlema tabeli kõik tüübid, ehkki neil on vastavad atribuudid või mitte.


INNER JOIN on sama mis JOIN. Võite ka INNER-i märksõna maha jätta ja kasutada sisemiseks liitumiseks lihtsalt JOIN-i.

LIIDU määratlus

UNION on SQL-is määratud toiming. UNON ühendab kahe päringu tulemuse. UNIONi tulemus sisaldab mõlemaid päringus sisalduvaid suhteid. Tingimused, mis peavad olema täidetud, võtavad kahe suhtega liitu järgmised tingimused:

  1. Neil kahel seosel peab olema sama arv atribuute.
  2. Vastava atribuudi domeenid peavad olema samad.

On kahte tüüpi ÜHENDUST, mis on LIIDU ja LIIDU KÕIK. UNIONi abil saadud tulemus ei sisalda duplikaate. Teisest küljest säilitab UNION ALL abil saadud tulemus duplikaadi.

  1. Peamine erinevus JOINi ja UNIONi vahel on see, et JOIN ühendab kahe suhte tüübid ja sellest tulenevad tüübid sisaldavad mõlema suhte atribuute. Teisest küljest ühendab UNION kahe SELECT-päringu tulemuse.
  2. JOIN-klauslit saab kohaldada ainult siis, kui kahel suhteil on mõlemas vähemalt üks ühine omadus. Teisest küljest on UNION rakendatav siis, kui kahel seosel on sama arv atribuute ja vastavate atribuutide domeenid on samad.
  3. Seal on neli tüüpi ÜHINEMA SISEMISE LIITUMIST, VASAKU LIITUMIST, ÕIGE LIITUMIST, TÄISVÄLIST LIITUMIST. Kuid on kahte tüüpi LIIT, LIIT ja LIIT KÕIK.
  4. JOIN-is on saadud tüübil suurem suurus, kuna see sisaldab mõlemast seosest pärit atribuute. Teisest küljest suurendatakse liidus liitmike arvu, mille tulemusel võetakse arvesse nii päringus sisalduvate suhete jaotusi.

Järeldus:

Mõlemaid andmeid kombineerivaid toiminguid kasutatakse erinevates olukordades. JOIN kasutatakse siis, kui soovime ühendada kahe seose atribuudid, millel on vähemalt üks ühine atribuut. UNIONi kasutatakse siis, kui soovime ühendada päringus sisalduvate kahe suhte tüübid.