Formes senzilles d'unir tres taules a SQL (amb imatges)

Taula de continguts:

Formes senzilles d'unir tres taules a SQL (amb imatges)
Formes senzilles d'unir tres taules a SQL (amb imatges)

Vídeo: Formes senzilles d'unir tres taules a SQL (amb imatges)

Vídeo: Formes senzilles d'unir tres taules a SQL (amb imatges)
Vídeo: Гугл таблицы для бизнеса - бесплатная CRM система | Автоматизация бизнеса в Google таблицы 2024, Març
Anonim

Quan es treballa amb taules a SQL, pot haver-hi algunes situacions en què hagi de consultar tres o més taules. Podeu unir tres taules utilitzant primer una instrucció join per unir dues taules per crear una taula unida temporal. A continuació, utilitzeu una segona sentència join per unir-vos a la tercera taula.

Passos

11227971 1
11227971 1

Pas 1. Escriviu SELECT seguit dels noms de columna que voleu consultar

Escriviu el nom de la columna de cadascun dels tres que voleu consultar. Separeu cada nom de columna amb una coma. En aquest exemple, farem consultes des de tres taules anomenades "Estudiants", "Escoles" i "Detalls".

Per exemple, SELECT_id_id, student_name, school_id, school, grade

11227971 2
11227971 2

Pas 2. Escriviu FROM seguit del nom de la primera taula

Això pot anar en una línia independent o immediatament després de la primera declaració. En el nostre exemple, escriuríem FROM Students.

11227971 3
11227971 3

Pas 3. Escriviu una instrucció join seguida del nom de la segona taula

Hi ha quatre tipus d’instruccions d’unió que podeu utilitzar per unir dues taules. Són els següents:

  • Escriviu JOIN per fer un Combinació interna. Això retorna registres que tenen valors coincidents a les dues taules. Per exemple FROM Students JOIN Details.
  • Escriviu LEFT JOIN per fer un Unió exterior esquerra. Això retorna tots els registres de la taula esquerra i els valors coincidents de la taula dreta. Per exemple, DES D'ALUMNES ESQUERRA UNEU Detalls.
  • Escriviu RIGHT JOIN per fer un Unió exterior dreta. Això retorna tots els registres de la taula dreta i els valors coincidents de la taula esquerra. Per exemple, DES D'ALUMNES DESTINACIÓ D'ADHESIÓ Detalls.
  • Escriviu FULL JOIN per fer un Unió exterior completa. Això retorna tots els registres de les dues taules. Per exemple FROM Students FULL JOIN Details.
11227971 4
11227971 4

Pas 4. Escriviu una sentència "ON" per a les taules i columnes que s'uneixen

La sintaxi per a aquesta sentència és "ACTIVAT taula_1.primaria_key = taula_2.foreign_key". "Taula_1" és el nom de la primera taula a la qual s'uneix i "clau_ primària" és el nom de la columna principal de la primera taula. "Taula_2" és el nom de la segona taula i "clau_estrangera" és un nom de columna de la segona taula que coincideix amb la columna principal de la primera taula.

  • Al nostre exemple, "Estudiants" és la primera taula i "student_id" és la clau principal de la taula Estudiants, que també es troba a la taula Detalls. Per tant, escriuríem ON Students.student_id = Details.student_id. Això s'uneix a la taula Estudiants amb la taula Detalls amb "student_id" com a clau principal.
  • Com a alternativa, si la columna student_name es troba a la taula "Detalls", podeu mostrar la columna student_name en lloc del camp student_id escrivint ACTIVAT Students.student_id = Detallss.student_name.
11227971 5
11227971 5

Pas 5. Escriviu una sentència join seguida del nom de la tercera taula

Això pot estar en una línia independent o immediatament després de la sentència "ON" que s'ha unit a les dues primeres taules. Podeu utilitzar qualsevol de les quatre sentències de combinació.

En el nostre exemple, escriuríem JOIN Schools

11227971 6
11227971 6

Pas 6. Escriviu una sentència "ON" que indiqui quines taules i columnes s'uniran

La sintaxi de la tercera unió és "ACTIVAT table_3.primary_key = table_1.foreign_key". "Taula_1". "Taula_3 és el nom de la tercera taula. Això afegeix la taula tres a la combinació final mitjançant el nom de la columna principal de la tercera taula i la clau estrangera de la primera taula. En el nostre exemple, escriurem ON Schools.student_id = Students.student_id. La declaració join sencera hauria de ser semblant a aquesta:

    SELECCIONA student_id, student_name, school_id, school, grade FROM Students FULL JOIN Details ON Students.student_id = Details.student_id UNEIX-TE a Schools ON Schools.student_id = Students.student_id

Recomanat: