ASOCIERE INTERNĂ

Finalizat

Asocierea tabelelor

În bazele de date relaționale, datele sunt organizate frecvent în mai multe tabele pentru a minimiza redundanța și a îmbunătăți integritatea datelor. Această abordare de proiectare, cunoscută ca normalizare, evită repetarea acelorași informații în locuri diferite. Totuși, acest lucru înseamnă că informațiile utile sunt răspândite adesea în mai multe tabele.

Unirile sunt operațiuni SQL esențiale care pun acest spațiu liber, permițându-vă să combinați rânduri din două sau mai multe tabele și să regăsiți date asociate într-un singur set de rezultate unificate. În esență, asocierile vă permit să interogați informațiile care sunt conectate logic, dar separate fizic. Acestea obțin această combinație prin identificarea și potrivirea rândurilor pe baza valorilor găsite într-una sau mai multe coloane comune între tabele. Aceste coloane comune servesc adesea drept legătură între o cheie primară dintr-un tabel și o cheie străină din alta, stabilind relațiile definite în schema bazei de date.

Notă: O cheie primară este un identificator unic pentru fiecare înregistrare dintr-un tabel, asigurându-vă că două rânduri nu au aceeași valoare în această coloană. O cheie străină, pe de altă parte, este o coloană dintr-un tabel care face referire la cheia primară din alt tabel, legând astfel cele două tabele.

Există mai multe "arome" de uniri (INNER, LEFT, RIGHT, FULL OUTER, NATURAL), fiecare conceput pentru a combina tabele în moduri ușor diferite. Acestea oferă control asupra rândurilor incluse în setul de rezultate pe baza prezenței sau absenței valorilor corespondente din tabelele asociate.

ASOCIERE INTERNĂ

An INNER JOIN este unul dintre cele mai utilizate tipuri de asocieri SQL. Aceasta combină rânduri din mai multe tabele pe baza unei condiții care specifică valorile care se potrivesc într-o coloană partajată.

Atunci când efectuați o INNER JOIN, doar rândurile care satisfac condiția din ambele tabele sunt incluse în setul de rezultate, filtrând eficient toate datele necorespondențe. Acest lucru este INNER JOIN ideal pentru regăsirea informațiilor asociate, unde conexiunile dintre tabele sunt definite explicit, cum ar fi comenzile clienților sau atribuirile angajaților.

SELECT orders.order_id, customers.customer_name, employees.first_name, employees.last_name
FROM sales.orders AS orders
INNER JOIN sales.customers AS customers ON orders.customer_id = customers.customer_id
INNER JOIN sales.employees AS employees ON orders.employee_id = employees.employee_id;

Interogarea furnizată utilizează mai multe INNER JOIN operațiuni pentru a regăsi un set de rezultate unificat care conține detalii despre orders, customersși employees.

Acesta se potrivește cu customer_idorders tabelul cu cel corespunzător customer_id din customers tabel și employee_idorders cu tabelul cu employee_id tabelul din employees tabel. Prin urmare, interogarea afișează ID-ul fiecărei comenzi împreună cu numele clientului și angajatului implicat.