"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo puedo usar las uniones de izquierda para recuperar la persona y temer datos de tres tablas MySQL?

¿Cómo puedo usar las uniones de izquierda para recuperar la persona y temer datos de tres tablas MySQL?

Publicado el 2025-02-26
Navegar:393

How Can I Use LEFT JOINs to Retrieve Person and Fear Data from Three MySQL Tables?

mySql izquierdo Une tres tablas para personas temerosas

para recuperar una lista de personas con sus temores asociados, debe fusionar sin problemas tres tablas interconectadas :

  • personas : incluye información esencial sobre individuos, como su personid , name , y ss (número de seguro social).
  • temores : enumera varios miedos, cada uno Asignado un único fearid .
  • persona_fear : Sirve como el puente entre individuos y temores, con id , personid , y fearid .

Una consulta

Su intento inicial de crear una unión izquierda encontró un problema. La condición de unión especificada, persona_fear.personid = persona_fear.fearid , no se alinea con la relación deseada entre las tablas. Para vincular correctamente la tabla personas a la tabla temores a través de persona_fear intermediario, use este código modificado:

SELECT Persons.Name, Persons.SS, Fears.Fear
FROM Persons
LEFT JOIN Person_Fear
    INNER JOIN Fears
    ON Person_Fear.FearID = Fears.FearID
ON Person_Fear.PersonID = Persons.PersonID

explicación de la consulta modificada

  • izquierda unirse fusiona las personas personas tabla con la tabla persona_fear , donde cada individuo personaID se combina con el correspondiente personid in person_fear . Esto asegura que cada persona esté incluida en los resultados, incluso si no tiene temores asociados.
  • an Inner Join vincula la tabla persona_fear a la tabla tabla basada en la columna fearid . Esta operación recupera solo aquellos miedos que están conectados explícitamente a los individuos a través de la tabla persona_fear .
  • the on las cláusulas aseguran que el personid en el personas La tabla corresponde a la personid en el Person_fear , que a su vez coincide con la tabla fearid en fears table.

consulta alternativa sintax

Una forma alternativa de escribir la consulta de unión izquierda es:

SELECT Persons.Name, Persons.SS, Fears.Fear
FROM Persons
LEFT JOIN Person_Fear ON Person_Fear.PersonID = Persons.PersonID
LEFT JOIN Fears ON Person_Fear.FearID = Fears.FearID

Esta sintaxis es igualmente efectiva para recuperar los datos deseados, utilizando dos uniones izquierdas para conectar las tablas.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3