Operațiunea INNER JOIN

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 neapărat să aibă același nume.

oprcomp

Orice operator de comparație relativă: "=," "<," ">," "<=," ">=," 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. Pe de altă parte, 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 unire 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 de unire, 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ă:

SELECT câmpuri
FROM tabel1 INNER JOIN tabel2
ON tabel1.field1oprcomptabel2.câmp1 AND
ON tabel1.câmp2oprcomptabel2.câmp2) OR
ON tabel1.câmp3oprcomptabel2.câmp3)];

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

SELECT câmpuri
FROM tabel1 INNER JOIN
(tabel2 INNER JOIN [( ]tabel3
[INNER JOIN [( ]tabelx [INNER JOIN ...)]
ON tabel3.câmp3oprcomptabelx.câmpx)]
ON tabel2.câmpd2oprcomptabel3.câmp3)
ON tabel1.câmp1oprcomptabel2.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.



Extindeți-vă competențele
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă utilizatorilor Office Insider

Au fost utile aceste informații?

Vă mulțumim pentru feedback!

Vă mulțumim pentru feedback! Se pare că ar fi util să luați legătura cu unul dintre agenții noștri de asistență Office.

×