PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 18/05/2022 08:25:52

Maher
Membre

clarification sur une requête

Bonjour, je suis débutant en postgreSQL et j'ai une question SVP.

j'ai accés à une base de donnée postgres et j'ai un code pyhon qui me peremet de faire une requete à partir de cette base de donnée. Dans le code pyhon il y a une requête que je ne le comprends pas :

'SELECT a1.airport, a2.airport ,flight_data.* FROM flight_data   LEFT JOIN flight_data_recorder on flight_data_recorder.fdr_id = flight_data.fdr_id LEFT JOIN flight on flight.flight_id = flight_data_recorder.flight_id LEFT JOIN airport_and_date a2 on flight.arrival_id = a2.airport_and_date_id  LEFT JOIN airport_and_date a1 on flight.departure_id = a1.airport_and_date_id  WHERE (flight_data.flight_phase = \'INI_CLIMB\' or flight_data.flight_phase = \'CLIMB\') and flight_data.fdr_id < 15000 and a1.airport = \'DAAG\' and a2.airport = \'LFPO\'  ORDER BY flight_data.flight_data_id'

si on regarde le début de la requête "SELECT a1.airport, a2.airport " , le problem c'est que dans la data base je n'ai pas une table s'appelle "a1" ou "a2" ou une colonne s'applle "airport" et pourtant la raquete marche bien et il n' y a pas d'erreurs !
donc j'aimerais savoir de quoi il peut etre s'agire "a1" et "airport" ?
et quand on fait  par exemple select table.colonne.* from "other teble" ca veut dire quoi le  .*

Merci d'avance et j'espere que ma question était claire.

Hors ligne

#2 18/05/2022 08:43:28

rjuju
Administrateur

Re : clarification sur une requête

Bonjour,


Ce n'est pas une question spécifique à postgres, vous devriez probablement apprendre le langage SQL si vous avez à travailler avec une base de données relationnelle.


Pour répondre à votre question, a1 et a2 sont des alias pour des relations, défini avec la syntaxe "relation_name [ AS ] alias".  Vous pouvez utiliser cela sur une clause FROM ou JOIN.  Une colonne airport devrait donc exister dans les relations pour lesquelles a1 et a2 sont des alias.

Hors ligne

#3 18/05/2022 08:50:54

Maher
Membre

Re : clarification sur une requête

oui vous avez raison je suis débutant en SQL. je vous remerci pour votre reponse.

Hors ligne

Pied de page des forums