Una dintre cele mai importante caracteristici ale interogări SQL - este capacitatea lor de a determina relația dintre mai multe tabele și afișa toate informațiile de la ei în ceea ce privește aceste relații în cadrul unei echipe. Acest tip de operație se numește - compus (TE).
Pentru a înțelege modul în care mai multe implementat în interogări SQL, interogarea care se alătură date din două tabele diferite.
Creați o listă a tuturor angajaților care lucrează în birou Minsk.
SELECT fname. lname. poziție. S.tel_no
De la sucursala B. Personalul S
UNDE B.bno = S.bno și oraș = 'Minsk';
În curs de dezvoltare interogarea bazei de date este de a produce o serie de acțiuni legate de tabelele de ramură de conectare și de personal. Astfel, vizualizat coloană oraș întâi pentru a filtra liniile cu valori diferite de valoarea „Minsk“ pentru rânduri filtrate suplimentar din tabel sunt definite ca valorile coloanelor BNO identificatorii de ramură Minsk. După aceea au văzut personalul tabelul F, în scopul de a identifica liniile cu valori în coloana corespunzătoare BNO primul identificator de identificat de birou Minsk. În rândurile găsite sunt lăsate la valorile coloanelor specificate după SELECT cuvântul cheie. Mai mult, acest tabel este văzut ca pentru a identifica rândurile respective „a doua“ și așa Minskoye birou. G. la ultimul. Aceasta are ca rezultat un tabel cu rezultatele informațiile solicitate.
Notă unele caracteristici ale interogări multi-table. După cum se poate observa din acest exemplu, într-o cerere multiplă folosit de multe ori numele complete ale coloanelor, iar clauza FROM specifică pseudonime tabel pentru a simplifica referire la coloane numele complet, precum și de a oferi referințe clare la coloane. În plus, o semnificație specială poate avea o selecție a tuturor coloanelor (SELECT *), de exemplu:
Din partea personalului s. sucursală b
În plus față de combinarea a două tabele SQL permite, de asemenea, unirea celor trei sau mai multe tabele. Restricții privind numărul de tabele alăturat fie dezvoltatorii standard sau de baze de date nu oferă, cu toate acestea, trebuie să se țină seama de faptul că o creștere a numărului de mese unite într-o interogare reduce sa „lizibilitatea“ și viteza de execuție ca urmare a unei creșteri semnificative a costurilor de resurse și timpul de mașină în timpul procesării.
În aplicațiile proiectate pentru procesarea tranzacțiilor online (OLTP), o cerere se referă în mod obișnuit numai la una sau două tabele. În aceste aplicații, timpul de răspuns este o valoare critică, utilizatorul introduce în mod tipic unul sau două elemente de date, și trebuie să primească un răspuns de la baza de date pentru una sau două secunde.
OLAP-aplicații concepute pentru a sprijini procesul de luare a deciziilor, cererea, de regulă, face apel la mai multe tabele și utilizează relațiile complexe care există în baza de date. În aceste aplicații, rezultatele interogării nevoie pentru a lua decizii importante, astfel încât se consideră interogări acceptabile care se execută câteva minute sau mai mult.
Mai mult, combinarea tabelul rezultat poate fi realizată de către UNION operatorii - asociație, INTERSECT - intersecție, EXCEPȚIA (minus) - diferența.
Astfel, pe o masă impune anumite limitări, și anume tabelele trebuie să fie compus compatibil - au aceeași structură: același număr de coloane, coloanele sunt plasate un singur tip de date și lungime.
Obligația de a verifica datele care fac parte din același domeniu cu utilizatorul. Sintaxa generală de combinare a operatorilor de aplicare:
Exemplu. Afișează o listă a regiunilor în care fie există o ramură a companiei, sau sunt situate de cazare închiriate:
UNDE zona nu este nulă)