Maison >base de données >tutoriel mysql >Fonction de requête MySQL pour alias les tables et les champs
Répertoire :
(1) Alias la table
(2) Alias le champ
(recommandé pour un apprentissage gratuit :tutoriel vidéo mysql)
Lorsque le nom de la table est très long ou que certaines requêtes spéciales sont exécutées, pour des raisons de commodité d'utilisation ou lorsque la même table doit être utilisée plusieurs fois, vous pouvez spécifier un alias pour la table et utiliser cet alias pour remplacer le nom d'origine . Le format de syntaxe de base pour créer un alias d'une table est :
表名 [as] 表别名
"Nom de la table" est le nom de la table de données stockée dans la base de données, "L'alias de la table est le nouveau nom de la table spécifié lors de la requête, et le comme le mot-clé est facultatif Paramètres"
[Exemple 1] Donnez un alias à la table des commandes et interrogez la date de commande de 30001 commandes. L'instruction SQL est la suivante ;
mysql> select * from orders as o -> where o.o_num = 30001;+-------+---------------------+-------+| o_num | o_date | c_id |+-------+---------------------+-------+| 30001 | 2008-09-01 00:00:00 | 10001 |+-------+---------------------+-------+1 row in set (0.00 sec)
[Exemple 2] Donnez les alias des tables clients et commandes respectivement. et effectuez une requête de connexion. L'instruction SQL est la suivante :
mysql> select c.c_id,o.o_num -> from customers as c left join orders as o -> on c.c_id = o.c_id;+-------+-------+| c_id | o_num |+-------+-------+| 10001 | 30001 || 10003 | 30002 || 10004 | 30003 || 10001 | 30005 || 10002 | NULL |+-------+-------+5 rows in set (0.05 sec)
Comme vous pouvez le voir sur les résultats, MySQL peut alias plusieurs tables en même temps, et des alias de table. peut être placé à différents endroits, tels que les clauses Where et les listes de sélection, la clause on et la clause order by, etc.
L'auto-jointure est une jointure interne spéciale. Les deux tables de la requête de jointure sont la même table. L'instruction de requête est la suivante :
mysql> select f1.f_id,f1.f_name -> from fruits as f1,fruits as f2 -> where f1.s_id = f2.s_id and f2.f_id = 'a1';+------+------------+| f_id | f_name |+------+------------+| a1 | apple || b1 | blackberry || c0 | cherry |+------+------------+3 rows in set (0.00 sec)
列名 [as] 列别名"Nom de la colonne" est le nom défini pour le champ dans la table, "Alias de la colonne" est le nouveau nom du champ et le mot-clé as est un paramètre facultatif. [Exemple 1] Interrogez la table des fruits, donnez à f_name l'alias fruit_name, à f_price l'alias fruit_price, puis donnez à la table des fruits l'alias f1, interrogez les noms de fruits de f_price
mysql> select f1.f_name as fruits_name,f1.f_price as fruit_price -> from fruits as f1 -> where f1.f_price <8;+-------------+-------------+| fruits_name | fruit_price |+-------------+-------------+| lemon | 6.40 || apple | 5.20 || apricot | 2.20 || berry | 7.60 || xxxx | 3.60 || cherry | 3.20 || xbabay | 2.60 || grape | 5.30 || xbabay | 3.60 |+-------------+-------------+9 rows in set (0.00 sec)[Exemple 2] Interrogez les champs s_name et s_city dans la table des fournisseurs, utilisez la fonction concat pour connecter les deux valeurs de champ et prenez l'alias de colonne comme fournisseurs_titre.
mysql> select concat(trim(s_name),'(',trim(s_city),')') -> from suppliers -> order by s_name;+-------------------------------------------+| concat(trim(s_name),'(',trim(s_city),')') |+-------------------------------------------+| ACME(Shanghai) || DK Inc(Zhengzhou) || FastFruit Inc.(Tianjin) || FNK Inc.(Zhongshan) || Good Set(Taiyuan) || Just Eat Ours(Beijing) || LT Supplies(Chongqing) |+-------------------------------------------+7 rows in set (0.00 sec)Comme vous pouvez le voir sur les résultats, le nom de la colonne du résultat affiché est le champ calculé après la clause select. En fait, la colonne calculée n'a pas de nom. Ce résultat est très difficile à comprendre. Donner un alias au champ rendra les résultats plus clairs. L'instruction SQL est la suivante :
mysql> select concat(trim(s_name),'(',trim(s_city),')') -> as suppliers_title -> from suppliers -> order by s_name;+-------------------------+| suppliers_title |+-------------------------+| ACME(Shanghai) || DK Inc(Zhengzhou) || FastFruit Inc.(Tianjin) || FNK Inc.(Zhongshan) || Good Set(Taiyuan) || Just Eat Ours(Beijing) || LT Supplies(Chongqing) |+-------------------------+7 rows in set (0.00 sec)Comme vous pouvez le voir, sélectionnez ajoute comme fournisseurs_titre, ce qui demande à MySQL de créer un alias fournisseurs_titre pour le champ calculé et affiche le résultat comme alias de colonne spécifiés, ce qui améliore la lisibilité des résultats de la requête.
Remarque : les alias de table ne sont utilisés que lors de l'exécution de requêtes et ne sont pas affichés dans les résultats renvoyés. Une fois l'alias de colonne défini, il sera renvoyé au client pour affichage. les alias des colonnes du champ.
Recommandations d'apprentissage gratuites associées : base de données mysql(vidéo)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!