Operațiunea INNER JOIN

Se aplică la
Access pentru Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Combină înregistrări din două tabele atunci când există valori corespondente într-un câmp comun.

Sintaxă

FROM tabel1 INNER JOIN tabel2 ON tabel1. câmp1oprcomp tabel2. câmp2

Operațiunea INNER JOIN (UNIRE INTERNĂ) are următoarele componente:

Parte Descriere
tabel1, tabel2 Numele tabelelor din care se combină înregistrările.
câmp1, câmp2 Numele câmpurilor care se unesc. Dacă nu sunt numerice, câmpurile trebuie să fie de același tip de date și să conțină același tip de date, dar nu trebuie să aibă același nume.
oprcomp Orice operator de comparație relațională: "=," "<," ">," "<=," ">=," sau "<>."

      

Observații

Puteți utiliza o operațiune INNER JOIN în orice clauză FROM. Acesta este cel mai comun tip de unire. Unirile interne combină înregistrări din două tabele ori de câte ori există valori corespondente într-un câmp comun ambelor tabele.

Puteți utiliza INNER JOIN cu tabelele Departamente și Angajați pentru a selecta toți angajații din fiecare departament. În schimb, pentru a selecta toate departamentele (chiar dacă unele nu au angajați atribuiți) sau toți angajații (chiar dacă unii nu sunt atribuiți unui departament), puteți utiliza o operațiune LEFT JOIN sau RIGHT JOIN pentru a crea o asociere externă.

Dacă încercați să uniți câmpuri care conțin date Memo sau Obiect OLE, se produce o eroare.

Puteți uni orice două câmpuri numerice de tipuri similare. De exemplu, puteți uni câmpuri Numerotare automată și Lung, deoarece sunt tipuri similare. Cu toate acestea, nu puteți uni tipuri de câmpuri Simplu și Dublu.

Următorul exemplu arată cum puteți uni tabelele Categories (Categorii) și Products (Produse) după câmpul CategoryID (IDCategorie):

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

În exemplul precedent, CategoryID (IDCategorie) este câmpul de unire, dar acesta nu este inclus în rezultatul interogării, deoarece nu este inclus în instrucțiunea SELECT. Pentru a include câmpul asociat, includeți numele câmpului în instrucțiunea SELECT, în acest caz, Categories.CategoryID.

De asemenea, puteți lega mai multe clauze ON într-o instrucțiune JOIN, utilizând următoarea sintaxă:

CÂMPURI SELECT
FROM tabel1 INNER JOIN tabel2
ON tabel1. câmp1oprcomptabil2. câmp1 ŞI
ON tabel1. câmp2oprcomptabil2. câmp2) SAU
ON tabel1. câmp3oprcomptabil2. câmp3)];

De asemenea, puteți imbrica instrucțiuni JOIN utilizând următoarea sintaxă:

CÂMPURI SELECT
FROM tabel1 INNER JOIN
(tabel2 INNER JOIN [( ]tabel3
[INNER JOIN [( ]tablex [INNER JOIN ...)]
ON tabel3. câmp3oprcomptabilx. câmpx)]
ON tabel2. câmp2oprcomptabil3. câmp3)
ON tabel1. câmp1oprcomptabil2. câmp2;

O operațiune LEFT JOIN sau RIGHT JOIN poate fi imbricată într-o operațiune INNER JOIN, dar o operațiune INNER JOIN nu poate fi imbricată într-o operațiune LEFT JOIN sau RIGHT JOIN.