Instrucțiunea SQL INNER JOIN: exemple, sintaxă și caracteristici

Dezvoltarea oricărei baze de date implică nu numai crearea și completarea tabelelor cu diverse informații, dar și lucrul cu datele. Pentru executarea corectă a diferitelor sarcini pentru selectarea datelor din tabele și generarea de rapoarte, se utilizează standardul Select construct.

sql exemplu de intrare internă

Datele obținute din tabele

Dacă luați în considerare sarcina de a selecta date sau de a construi un anumit raport, puteți determina nivelul de complexitate al acestei operații. De regulă, atunci când se lucrează cu baze de date serioase (pe baza volumului de informații), care se formează, de exemplu, în magazinele online sau în marile companii, eșantionarea datelor nu se va limita la un singur tabel. În mod obișnuit, eșantioanele pot proveni dintr-un număr destul de mare de mese nu numai interconectate, ci și de interogările / subdotările imbricate pe care le realizează programatorul, în funcție de sarcina atribuită. Pentru prelevarea de probe dintr-o singură masă, puteți utiliza cel mai simplu design:

Selectați * din Persoană

unde Persoana este numele tabelului din care se selectează datele.

Dacă este nevoie să selectați date din mai multe tabele, puteți utiliza unul dintre modelele standard pentru a combina mai multe tabele.

Modalități de conectare a unor tabele suplimentare

Dacă luăm în considerare utilizarea unor astfel de structuri la nivelul inițial, atunci putem distinge următoarele mecanisme de conectare a numărului necesar de tabele pentru eșantion, și anume:

  1. Operator intrare internă.
  2. Alăturați-vă la stânga sau, acesta este cel de-al doilea mod de înregistrare, intrați în afară la stânga.
  3. Intrarea în cruce.
  4. Intrați complet.

Utilizarea tabelelor de operatori se poate realiza în practică, luând în considerare utilizarea operatorului SQL - Inner Join. Un exemplu de utilizare a acestuia va arăta astfel:

Selectați * din Persoană

Inner join Subdivision pe Su_Person = Pe_ID

SQL Limbă și Alăturați-vă Alăturați-vă interioară operator poate fi folosit nu numai pentru combinarea a două sau mai multe tabele, dar, de asemenea, pentru a conecta alte sub-interogări, care facilitează foarte mult activitatea de administratori de baze de date, și, de regulă, poate accelera în mod semnificativ punerea în aplicare a structurilor de interogare specifice, complicate.

Combinarea datelor în tabele rând după rând

operatorul sql exemple de intrare interioară

Dacă luați în considerare conectarea unui număr mare de subcheiri și asamblarea datelor într-un singur rând de rând pe rând, puteți utiliza și operatorii Union și Union All.

Aplicarea acestor modele va depinde de sarcina atribuită dezvoltatorului și de rezultatul pe care dorește să-l atingă în cele din urmă.

Descrierea operatorului Inner Join

În majoritatea cazurilor, utilizați operatorul Inner Join pentru a vă alătura mai multor tabele în SQL. Descrierea interfeței interioare în SQL este destul de simplă pentru un programator mediu de înțeles, care abia începe să înțeleagă bazele de date. Dacă luăm în considerare descrierea mecanismului de funcționare a acestei construcții, obținem următoarea imagine. Logica operatorului în ansamblul său se bazează pe posibilitatea de a intersecta și de a preleva numai acele date care există în fiecare dintre tabelele care intră în interogare.

Dacă luăm în considerare această lucrare din punctul de vedere al interpretării grafice, obținem structura SQL Inner Join, exemplul căruia poate fi prezentat cu ajutorul următoarei scheme:

SQL exemplu de sinteză internă

De exemplu, avem două tabele, diagrama căreia este prezentată în figură. Ei, la rândul lor, au un număr diferit de înregistrări. În fiecare dintre tabele există câmpuri care sunt legate între ele. Dacă încercați să explicați lucrarea operatorului pe baza cifrei, rezultatul returnat va fi sub forma unui set de înregistrări din două tabele, în care numerele câmpurilor aferente coincid. Pur și simplu, interogarea va returna numai acele înregistrări (din tabelul numărul doi), datele despre care se află în tabelul numărul unu.

Sintaxă a operatorului Inner Join

După cum am menționat mai devreme, operatorul Inner Join, și anume sintaxa sa, este extrem de simplă. Pentru a organiza legăturile între tabele într-un singur eșantion, va fi suficient să vă amintiți și să utilizați următoarea schemă principală pentru construirea unui operator, care este scris într-o singură linie a codului SQL al programului, și anume:

  • Inner Join [Numele mesei] pe [câmpul cheie din tabelul la care ne conectăm] = [Câmpul cheie al mesei conectate].

Pentru comunicarea în acest operator, se folosesc tastele principale ale tabelelor. De regulă, în grupul de tabele care stochează informații despre angajați, persoana și subdiviziunea descrisă anterior au cel puțin o înregistrare similară. Deci, să examinăm mai atent declarația SQL Inner Join, un exemplu despre care a fost arătat puțin mai devreme.

Exemplu și descriere a conexiunii la o singură selecție de tabel

Avem o tabelă Persoană care stochează informații despre toți angajații care lucrează în companie. Rețineți că cheia principală a acestui tabel este câmpul - Pe_ID. Doar pe ea și va exista o grămadă.



Al doilea tabel al subdiviziunii va stoca informații despre departamentele în care lucrează angajații. Acesta, la rândul său, este legat cu ajutorul câmpului Su_Person cu tabelul Person. Ce spune? Pe baza schemei de date, puteți spune că tabelul departamentului pentru fiecare intrare din tabelul Angajați va conține informații despre departamentul în care lucrează. În acest sens, operatorul Inner Join va funcționa.

Pentru o utilizare mai ușor de înțeles, luați în considerare declarația SQL Inner Join (exemple de utilizare a acesteia pentru una și două tabele). Dacă luăm în considerare un exemplu pentru o singură masă, atunci totul este simplu:

Selectați * din Persoană

Inner join Subdivision pe Su_Person = Pe_ID

Un exemplu de conectare a două mese și a unui subdotare

sql și să se alăture operatorului de îmbinare internă

Operatorul SQL Inner Join, ale cărui exemple de utilizare pentru recuperarea datelor din mai multe tabele pot fi organizate în modul de mai sus, funcționează pe un principiu puțin mai complicat. Pentru două mese complicăm problema. De exemplu, avem tabelul Depart, care stochează informații despre toate departamentele din fiecare departament. În acest tabel, numărul departamentului și numărul angajatului sunt înregistrate, iar eșantionul de date trebuie completat cu numele fiecărui departament. Privind în perspectivă, merită spus că pot fi folosite două metode pentru a rezolva această problemă.

Prima modalitate este de a conecta tabelul departamentului la eșantion. În acest caz, puteți organiza solicitarea în acest fel:

Selectați Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name de la Persoană

Inner join Subdivision pe Su_Person = Pe_ID

Intrare internă Deplasați-vă pe Su_Depart = Dep_ID și Pe_Depart = Dep_ID

Cea de-a doua metodă de rezolvare a problemei este utilizarea unei subdotări în care nu vor fi selectate toate datele, ci doar datele solicitate, din tabelul departamentului. Acest lucru, spre deosebire de prima metodă, va reduce timpul de interogare.

Selectați Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name de la Persoană

Inner join Subdivision pe Su_Person = Pe_ID

Interioară se alăture (Selectați Dep_ID, Dep_Name, Pe_Depart din Plecare) ca T pe Su_Depart = Dep_ID și Pe_Depart = Dep_ID

Trebuie remarcat faptul că un astfel de design nu poate întotdeauna să accelereze interogarea. Uneori există cazuri când este necesar să se folosească eșantionarea suplimentară a datelor în tabelul temporar (dacă volumul lor este prea mare) și apoi să fie combinat cu eșantionul principal.

Un exemplu de utilizare a operatorului Inner Join pentru selecții dintr-un număr mare de mese

Construirea de interogări complexe implică utilizarea unui număr semnificativ de tabele și subdotări legate unul de celălalt pentru a prelua date. Aceste cerințe pot satisface sintaxa SQL Inner Join. Exemple de utilizare a operatorului în acest caz pot fi complicate nu numai de eșantioane din multe locuri de stocare a datelor, dar și de la un număr mare de subîncercări imbricate. Pentru un exemplu specific, puteți lua un eșantion de date din tabelele de sistem (operatorul Inner Join SQL). Un exemplu - 3 tabele - în acest caz va avea o structură destul de complexă.

Intrarea internă sql exemplu 3 tabele

În acest caz, se adaugă încă trei (în tabelul principal) și se introduc mai multe condiții de selecție a datelor.

Atunci când utilizați operatorul Inner Join, rețineți că cu cât interogarea este mai complexă, cu atât mai mult va fi implementată, deci merită să căutați modalități de a executa mai repede și de a rezolva sarcina.Intrarea internă sql exemplu 3 tabele

concluzie

În final, aș dori să spun un singur lucru: a lucra cu baze de date - nu este cel mai dificil lucru în programare, așa că dacă doriți fiecare persoană va fi în măsură să dobândească cunoștințe pentru a construi o bază de date, și de-a lungul timpului, să câștige experiență, veți obține pentru a lucra cu ei la un nivel profesional .

Distribuiți pe rețelele sociale:

înrudit
Crearea unei baze de date MySQL face parte din orice siteCrearea unei baze de date MySQL face parte din orice site
Cum se compun interogările SQL - exemple detaliateCum se compun interogările SQL - exemple detaliate
Care sunt datele? Tipuri de dateCare sunt datele? Tipuri de date
Lucrul cu baza de date: care sunt solicitărileLucrul cu baza de date: care sunt solicitările
MySQL - cererea în cerere. MySQL: exemple de interogări. Întrebări interogate MySQLMySQL - cererea în cerere. MySQL: exemple de interogări. Întrebări interogate MySQL
HAVING SQL: descriere, sintaxă, exempleHAVING SQL: descriere, sintaxă, exemple
SQL (tipuri de date): tabelSQL (tipuri de date): tabel
"Capcane" de comenzi DML Actualizați MySQL"Capcane" de comenzi DML Actualizați MySQL
SQL unde: metode de aplicare și exempleSQL unde: metode de aplicare și exemple
MySQL JOIN: o descriere, un exemplu de utilizare a comenzii și recomandăriMySQL JOIN: o descriere, un exemplu de utilizare a comenzii și recomandări
» » Instrucțiunea SQL INNER JOIN: exemple, sintaxă și caracteristici