Toimingud LEFT JOIN ja RIGHT JOIN

Rakenduskoht
Microsoft 365 rakendus Access Access 2024 Access 2021 Access 2019 Access 2016

Kombineerib mis tahes FROM-klauslis kasutamise korral lähtetabeli kirjed.

Süntaks

FROM tabel1 [ LEFT | RIGHT ] JOIN tabel2
ON table1.field1compopr table2.field2

Toimingud LEFT JOIN ja RIGHT JOIN koosnevad järgmistest osadest.

Osa Kirjeldus
tabel1, tabel2 Nende tabelite nimed, mille kirjed liidetakse.
väli1, väli2 Liidetavate väljade nimed. Väljad peavad olema sama andmetüübiga ja sisaldama sarnaseid andmeid, kuid neil ei pea olema sama nimi.
võrdlusmärk Suvaline relatsiooniline võrdlusmärk: "=", "<," ">," "<=",> või "<>."

      

Kommentaarid

Kasutage vasakpoolse välimise ühendamise loomiseks toimingut LEFT JOIN. Kahe tabeli korral hõlmavad vasakpoolsed välised ühendamised kõiki kirjeid esimesest (vasakpoolsest) tabelist ka siis, kui teises (parempoolses) tabelis pole neile kirjetele vastavaid väärtusi.

Kasutage toimingut RIGHT JOIN, et luua parempoolne poolne ühendamine. Kahe tabeli korral hõlmavad parempoolsed välised ühendamised kõiki kirjeid teisest (parempoolsest) tabelist ka siis, kui esimeses (vasakpoolses) tabelis pole neile kirjetele vastavaid väärtusi.

Näiteks saate toimingut LEFT JOIN kasutada tabelites Departments (Osakonnad; vasakpoolne) ja Employees (Töötajad; parempoolne) kõigi osakondade valimiseks – sealhulgas need osakonnad, millele pole töötajaid määratud. Kõigi töötajate valimiseks (sh nende, keda pole ühtegi osakonda määratud) saate aga kasutada toimingut RIGHT JOIN.

Järgmises näites selgitatakse, kuidas saate ühendada tabelite Categories (Kategooriad) ja Products (Tooted) väljadel CategoryID olevad andmed. Päring koostab loendi kõigist kategooriatest, sealhulgas nendest, mis ei sisalda tooteid:

SELECT CategoryName, ProductName FROM Categories LEFT JOIN Products ON Categories.CategoryID = Products.CategoryID;

Selles näites ühendatakse välja CategoryID andmed, ent seda ei kaasata päringu tulemitesse, kuna seda pole SELECT-lauses. Ühendatud välja kaasamiseks sisestage välja nimi SELECT-lausesse , praegusel juhul Categories.CategoryID.

Sellise päringu koostamiseks, mis sisaldab üksnes selliseid kirjeid, mille korral ühendatud väljadel on samad andmed, kasutage toimingut INNER JOIN.

  • Toiminguid LEFT JOIN ja RIGHT JOIN saab pesastada toimingusse INNER JOIN, ent INNER JOIN-i ei saa pesastada toimingutesse LEFT JOIN ega RIGHT JOIN. Täpsemat teavet selle kohta, kuidas ühendamisi teistesse ühendamistesse pesastada, leiate toimingut INNER JOIN käsitleva artikli pesastamisjuhistest.
  • Mitu ON-klauslit saate omavahel linkida. Selle kohta leiate teavet toimingut INNER JOIN käsitleva artikli klauslite linkimise juhistest.

Kui proovite ühendada välju, milles on Memo- või OLE-objekti tüüpi andmed, ilmneb tõrge.