Soovitatav, 2020

Toimetaja Valik

Erinevus JOINi ja LIIDU vahel SQLis

LIIDU JA LIIDU on SQL-i klauslid, mida kasutatakse kahe või enama suhte andmete ühendamiseks. Kuid viis, kuidas nad ühendavad saadud tulemuse ja vormi, erinevad. JOIN-i klausel ühendab kahe suhte atribuudid tulemuseks olevate tuplite moodustamiseks, samas kui UNIONi klausel ühendab kahe päringu tulemuse. Arutagem JOINi ja LIIDU vahelist erinevust allpool toodud võrdluskaardi abil.

Võrdluskaart

Võrdluse alusLIITUDLIIDU
PõhilineJOIN ühendab kahes erinevas suhtluses olevate tükkide atribuudid, mis jagavad mõningaid ühiseid välju või atribuute.UNION ühendab päringus olevate suhete tuple.
SeisundJOIN on rakendatav, kui kahel seotud suhtel on vähemalt üks ühine atribuut.UNION on rakendatav, kui päringus olevate veergude arv on sama ja vastavatel atribuutidel on sama domeen.
TüübidSISEMINE, TÄIELIK (VÄLJAS), VASAK LIITUMINE, PAREM LIIT.LIIDU JA LIIDU KÕIK.
MõjuTulemuseks olevate tuplite pikkus on rohkem seotud kaasatud suhete pikkuste pikkusega.Tulemuseks olevate tuplite arv on rohkem võrreldes päringuga seotud igasuguses suhetes olevate tuplite arvuga.
Joonis

JOINi määratlus

SQL-i liiteklausel ühendab kahe suhte või tabeli tuple, mille tulemuseks on pikem tuple suurus. Saadud tuple sisaldab nii seose omadusi. Atribuudid kombineeritakse nende ühiste atribuutide alusel. SQL'i erinevad LIIGI liigid on INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN.

INNER JOIN kombineerib mõlema tabeli tuple, kui mõlema vahel on ühine atribuut. LEFT JOIN (vasakpoolne liitmine) annab tulemuseks kõik vasakul tabelil olevad numbrid ja sobiva tuple paremas tabelis. PAREM LIIKUMINE annab tulemuseks kõik parempoolses tabelis olevad numbrid ja ainult vastav tabel vasakult tabelist. FULL OUTER JOIN tulemuseks on kõik tabelid, kuigi neil on vastavad atribuudid või mitte.

INNER JOIN on sama mis JOIN. Võite ka sisestada INNERi märksõna ja kasutada lihtsalt JOIN-i, et täita INNER JOIN.

LIIDU määratlus

UNION on SQL-i operatsioon. UNON ühendab kahe päringu tulemuse. UNIONi tulemuseks on mõlemad päringus olevad suhted. Tingimused, mis peavad olema täidetud, et LIIDU ühendaks kaks suhet, on:

  1. Mõlemad suhted peavad omama sama arvu atribuute.
  2. Vastava atribuudi domeenid peavad olema samad.

UNION ja UNION ALL on kaks liitu . UNIONiga saadud tulemus ei sisalda duplikaate. Teisest küljest säilitab UNION ALL'iga saadud tulemus kaks eksemplari.

Peamised erinevused JOIN ja LIIDU vahel SQLis

  1. Peamine erinevus JOINi ja UNIONi vahel on see, et JOIN ühendab kahest suhtest koosneva numbri ja tulemuseks olevad numbrid sisaldavad mõlema suhte omadusi. Teisest küljest ühendab LIIDU kahe SELECTi päringu tulemuse.
  2. JOINi klauslit kohaldatakse ainult siis, kui mõlemal seotud suhtel on mõlemas vähemalt üks atribuut. Teisest küljest on UNION kohaldatav siis, kui mõlemal suhtel on sama arv atribuute ja vastavate atribuutide domeenid on samad.
  3. LIITU INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN on neli tüüpi. Kuid on olemas kahte liiki LIIDU, LIIDU ja LIIDU KÕIK.
  4. JOIN-is on tulemuseks olev tuple suurema suurusega, kuna see sisaldab nii seose atribuute. Teisest küljest suurendatakse UNIONis tuplejate arvu, mille tulemusena lisatakse mõlema päringu juures olevad suhted.

Järeldus:

Mõlemaid andmeid kombineerivaid toiminguid kasutatakse erinevates olukordades. JOINit kasutatakse siis, kui soovime ühendada kahe suhte omadusi, millel on vähemalt üks ühine atribuut. UNIONit kasutatakse siis, kui soovime kombineerida päringus esinevate kahe suhte tuple.

Top