O explicație clară a principiului combinării tabelelor în mysql - sergey chervach

Acasă / Nu Acasă / Visual Explicați principiul aderării tabelelor în MySQL

Atunci când dezvoltăm proiecte web cu participarea unei baze de date, adesea trebuie să combinăm tabelele bazei de date în interogări pentru a obține datele necesare.







Avertisment: Acest articol în tabelele alătura condiție utilizate ca ON, și folosind, pentru o schimbare. Vă reamintesc că, dacă coloanele în care are loc combinarea, au același nume, trebuie să utilizați FOLOSIND ( `imya_stolbtsa`), utilizați în caz contrar ON`` = TableA`.`imya_stolbtsa_iz_TableA` TableB`.`imya_stolbtsa_iz_TableB`







Deci, să presupunem că avem două mese. Tabelul A (tabelul A) din partea stângă și tabelul B (tabelul B) din dreapta. Vom umple fiecare patru personaje, ale căror nume pot fi prezente pe ambele mese.

AJUTORUL DREAPTA

NATURAL JOIN

Esența acestei construcții constă în faptul că baza de date însăși alege care coloane să compară și să îmbine tabelele. Iar această alegere cade pe coloanele cu același nume. Aceasta este ambuscada Baza de date mdash poate selecta complet coloanele greșite pentru join și interogarea va funcționa complet diferit decât v-ați așteptat.

În acest caz, SGBD alege să se alăture coloane tabele de identitate și numele, deoarece acestea sunt prezente în ambele tabele și apoi la cererea de interogare originală a formularului:

Dar, deoarece nu avem înregistrări cu același id și nume simultan în ambele tabele, interogarea returnează un rezultat gol.

Dacă faceți controlul tabelului stâng și modificați interogarea:

O astfel de solicitare este dată de DBMS la următoarele:







Articole similare

Trimiteți-le prietenilor: