Requette avec LEFT JOIN

Par Devdeb22, il y a 7 ans


Base de données MySQL

Bonjour,

J'ai fais ce tuto, mais il y aun truc que je ne suis pas assez sûr d'avoir bien compris.

Que signifie le terme "as" ici ?

Est-ce qu'il prend toutes la selection de "articles.id,...à categories.titre" et le stocke dans un tableau qui s'appelle "categorie"?

public function findWithCategory($id){ return $this->query(" SELECT articles.id, articles.titre, articles.contenu, articles.date, categories.titre as categorie FROM articles LEFT JOIN categories ON category_id = categories.id WHERE articles.id = ? ", [$id], true ); }

3 réponses

Lartak, il y a 7 ans

Bonjour.
as dans SQL signifie alias, dans ton exemple comme il y aurait un retour avec deux champs qui se nomment pareil (titre) en en redéfinissant un, tu n'auras pas de problème.
Les alias dans SQL ne servent pas qu'a renommer des champs, mais aussi des tables, surtout pour les jointures, dans la requête de ton exemple, tu pourrais par exemple faire :

SELECT a.id, a.titre, a.contenu, a.date, c.titre AS categorie FROM articles AS a LEFT JOIN categories AS c ON a.category_id = c.id WHERE a.id = ?

Personnellement, dans les requêtes SQL, je préfère mettre en majuscules tous les mots clés propre à SQL, ce qui je trouve, permet une meilleure lisibilité de la requête.

Devdeb22, il y a 7 ans

merci Lartak grâce à toi j'ai tous compris.

quenti77, il y a 7 ans

N'oublie pas de mettre en résolu le sujet si c'est bon ^^