Version complète: sur le forum Webmaster Hub : Comprends pas les p. dans les requêtes SQL
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > SQL
dldstyle
Salut à tous,

En voulant modifier la requête du moteur de recherche sur un site, je me rends compte que j'ai quelques lacunes en SQL :
CODE
SELECT COUNT(p.`id_product`) AS nb              FROM `ps_product` p              LEFT JOIN `ps_product_lang` pl ON (p.`id_product` = pl.`id_product` AND pl.`id_lang` = 2)                            WHERE `active` = 1                            AND                   MATCH (pl.`name`, `description`, `description_short`, `ean13`)                  AGAINST ('poissons*' IN BOOLEAN MODE)


A quoi correspondent les "p" comme dans (p.`id_product`) ? Un site sur lequel je pourrai creuser cette histoire smile.gif ?
Portekoi
Bonjour,

C'est un alias...

SQL
Select chp from Ma_table as `p`



Portekoi
dldstyle
OK le 'As' est un alias mais cela ne m'explique pas pourquoi il y a un 'p'

De plus à quoi sert le
CODE
...<span class="postcolor">pl ON</span>...
de la 1ere ligne... smile.gif

Merci pour ton coup de main !
Portekoi
Ok, je recommence smile.gif

Dans ton cas, c'est un 'p' mais cela pourrait être un 'j' ou 'ma_table' ou 'mon_super_alias_de_table_qui_est_super_long' ...

Concernant la première ligne, c'est une jointure... donc, admettons que j'ai 2 tables "table_1" et "table_2". Elles ont pour champ en commun le chp 'ID' (je fais simple)

Je veux utiliser les alias "T1" et "T2" pour gagner du temps...

La requête pour interroger les deux tables sera :

SQL
select T1.ID, T2.Nom from Table_1 T1 inner join Table_2 T2 on T1.ID = T2.ID


Mais cette requete sera exactement la même :

SQL
select Table_1.ID, Table_2.Nom from Table_1 inner join Table_2 on Table_1.ID = Table_2.ID


Et voilà smile.gif


Portekoi
Anonymus
Bonjour,

Comme te l'explique Portekoi, ca te permet de renommer une table.
En général, on lui donne un nom plus court, soit pour coder plus vite, soit pour utiliser 2 tables identiques dans la même requète, tout en leur donnant des noms différents.

Nico.
dldstyle
OK, merci à vous deux. J'ai trouvé une source d'informations très complète et bien expliquée sur les jointures et alias SQL pour ceux que cela intéresserait !
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.