Sql - Lecția 6

Pagina principală → Lecții SQL → Lecția 6. Combinarea tabelelor (Integrare internă)

Sintaxa celei mai simple îmbinări este:

SELECT tbl_name_table_1, tbl_name_table_title_2 FROM tbl_name_1, tbl_name2;







Să creați o simplă îmbinare:

Nu sa dovedit exact ceea ce ne-am așteptat. O astfel de uniune este denumită științific produsul cartezian, atunci când fiecare rând al primei mese este asociat cu fiecare rând din al doilea tabel. Poate că există cazuri când o astfel de asociere este utilă, dar acest lucru nu este în mod evident cazul nostru.

Schema va fi mai clară:

Ie noi în cerere am făcut următoarea condiție: dacă ambele tabele au aceleași identificatori, atunci liniile cu acest identificator trebuie combinate într-un șir de rezultate.

Acordați atenție la două lucruri:
  • Dacă într-una din tabelele integrate există un șir cu un identificator care nu se află în cealaltă tabelă asociată, atunci în tabelul rezultat nu va exista nici o linie cu un astfel de identificator. În exemplul nostru, există utilizator Oleg (id = 5), dar el nu a creat fire, astfel că interogarea nu o are.
  • Când se specifică o condiție, numele coloanei este scris după numele tabelului în care se află această coloană (prin punct). Acest lucru este făcut pentru a evita confuzia, deoarece coloanele din diferite tabele pot avea aceleași nume, iar MySQL poate să nu înțeleagă despre ce coloane specifice vorbesc.







  • În general, sintaxa corectă de combinare cu condiția arată astfel:

    SELECT imya_tablitsy_1.imya_stolbtsa1_tablitsy_1, imya_tablitsy_1.imya_stolbtsa2_tablitsy_1, imya_tablitsy_2.imya_stolbtsa1_tablitsy_2, imya_tablitsy_1 imya_tablitsy_2.imya_stolbtsa2_tablitsy_2 DIN, UNDE imya_tablitsy_2 imya_tablitsy_1.imya_stolbtsa_po_kotoromu_obedinyaem = imya_tablitsy_2.imya_stolbtsa_po_kotoromu_obedinyaem;

    Dacă numele coloanei este unic, atunci numele tabelului poate fi omis (așa cum am făcut în exemplu), dar acest lucru nu este recomandat.

    După cum înțelegeți, sindicatele vă permit să selectați orice informație din orice tabel, iar tabelele îmbinate pot fi trei sau patru, iar condiția pentru unificare ar putea să nu fie una.

    Dar pentru a afișa nume și nume în loc de identificatori, va trebui să combinăm trei tabele:

    Prin urmare, dacă trebuie să facem o solicitare ușor diferită - să retragem toți utilizatorii și subiectele pe care le-au creat, dacă există - atunci va trebui să folosim Uniunea Externă. Permite afișarea tuturor rândurilor unui tabel și a rândurilor asociate dintr-un alt tabel. Vom vorbi despre astfel de asociații în următoarea lecție.

    Dacă acest site a fost util pentru dvs., puteți contribui la dezvoltarea acestuia punând unul dintre aceste link-uri pe site-ul dvs.







    Articole similare

    Trimiteți-le prietenilor: