¿Por qué la primera consulta no tiene nada la tabla viajes?, casi no me ayuda hacer preguntas aquí, pero de verdad quiero saber porqué. ...

Gilberto Pérez Garrido

Gilberto Pérez Garrido

Pregunta
studenthace 3 años

¿Por qué la primera consulta no tiene nada la tabla viajes?, casi no me ayuda hacer preguntas aquí, pero de verdad quiero saber porqué.

FTSS..png Versión: PostgreSQL 14

2 respuestas
para escribir tu comentario
    Joel Sierra Mendoza

    Joel Sierra Mendoza

    studenthace 3 años

    Considero que el código correcto es:

    SELECT * FROM pasajeros LEFT JOIN viajes ON pasajeros.id = viajes.id_pasajeros;

    La pregunta que me surge aquí es: A qué hrs iniciaron y finalizaron sus viajes los pasajeros?

    Rene Rosas Villanueva

    Rene Rosas Villanueva

    studenthace 3 años

    lo que hace tu codigo es traer todos los datos de la tabla pasajero y agregarles los datos correspondientes de la tabla viajes. en teoria estas imprimiendo toda la informacion de los pasajeros y los que tienen null son pasajeros que aun no viajan por eso te imprime null pero seguro mas abajo tienes pasajeros con los datos completos de sus viajes. Si quisieramos ser mas especificos podrias usar:

    SELECT * FROM pasajero LEFT JOIN viaje ON (viaje.id_pasajero=pasajero.id) WHERE viaje.id_pasajero IS NULL ORDER BY pasajero.id

    El codigo de arriba te imprimiria la informacion de los pasajeros que no han realizado viajes Y el codigo de abajo te imprimiria solo la informacion de los pasajeros que si realizaron viajes.

    SELECT * FROM pasajero LEFT JOIN viaje ON (viaje.id_pasajero=pasajero.id) WHERE viaje.id_pasajero IS NOT NULL ORDER BY pasajero.id

    o tambien lo mas correcto para ver solo los pasajeros que tienen viajes seria utilizar INNER JOIN

    A mi me ayuda mucho estar viendo la representacion grafica de los joins para entender que es lo que esta haciendo mi codigo por eso siempre busco en google imagenes SQL Joins

Curso de PostgreSQL

Curso de PostgreSQL

PostgreSQL es el motor de bases de datos Open Source más conocido y usado en el mundo. Construye relaciones e interacciones entre diferentes bases de datos. Aprovecha las funcionalidades de seguridad, concurrencia y redimiento. Maneja altos volúmenes de información y administra tus propias bases de datos.

Curso de PostgreSQL
Curso de PostgreSQL

Curso de PostgreSQL

PostgreSQL es el motor de bases de datos Open Source más conocido y usado en el mundo. Construye relaciones e interacciones entre diferentes bases de datos. Aprovecha las funcionalidades de seguridad, concurrencia y redimiento. Maneja altos volúmenes de información y administra tus propias bases de datos.