Maison > base de données > tutoriel mysql > le corps du texte

épissage de requêtes MySQL

王林
Libérer: 2023-05-20 09:57:38
original
4206 Les gens l'ont consulté

Épissage de requêtes MySQL

Lorsque vous utilisez MySQL pour interroger, vous devez parfois épisser plusieurs champs ou champs dans plusieurs tables. Dans ce cas, vous pouvez utiliser la fonction d'épissage de chaînes fournie par MySQL pour fonctionner. Les fonctions de concaténation de chaînes couramment utilisées incluent CONCAT, CONCAT_WS et GROUP_CONCAT.

  1. Fonction CONCAT

La fonction CONCAT est utilisée pour connecter deux ou plusieurs chaînes ou champs. La syntaxe est la suivante :

CONCAT(string1, string2, ...)
Copier après la connexion

où, chaîne1, chaîne2... représentent les chaînes ou champs à connecter, qui peuvent être des constantes, Noms de colonnes, expressions, fonctions, etc. Par exemple, pour trouver le nom et le poste d'un employé, vous pouvez utiliser l'instruction suivante :

SELECT CONCAT(last_name, ' ', first_name) AS name, job_title
FROM employees
Copier après la connexion

La fonction CONCAT concatène ici nom et prénom et les sépare par des espaces comme nom de champ dans le résultat de la requête. Les résultats en cours sont les suivants :

namejob_title
Geoni BakewellProduction Manager
Lemuel MarmieShipping Manager
Lino UselmanIngénieur
Honey Tunney Sales Manager
......
  1. Fonction CONCAT_WS

La fonction CONCAT_WS est également utilisée pour la concaténation de chaînes, mais contrairement à la fonction CONCAT, elle peut spécifier un délimiteur , la syntaxe est la suivante :

CONCAT_WS(separator, string1, string2, ...)
Copier après la connexion

Parmi eux, le séparateur représente le séparateur, qui peut être n'importe quelle chaîne ; chaîne1, chaîne2... représentent les chaînes ou les champs à connecter, et plusieurs chaînes sont séparées par des virgules. Par exemple, pour trouver le nom complet et l'adresse e-mail d'un employé, vous pouvez utiliser l'instruction suivante :

SELECT CONCAT_WS(' ', first_name, last_name) AS full_name, email
FROM employees
Copier après la connexion

La fonction CONCAT_WS utilise ici des espaces comme séparateurs pour concaténer prénom et nom en tant que champ nom_complet dans le résultat de la requête. Les résultats en cours sont les suivants :

full_nameemail
Geoni Bakewellgbakewell@classicmodelcars.com
Lemuel Marmielmarmie @classic modelcars.com
Lino Uselmanluselman @classicmodelcars.com
Honey Tunneyhtunney@classicmodelcars.com
......
  1. GROUP_CONCAT fonction

GROUP_CONCAT Les fonctions sont utilisées pour combiner plusieurs champs ou plusieurs Un champ dans un enregistrement est fusionné en une chaîne, et la syntaxe est la suivante :

GROUP_CONCAT([DISTINCT] expr [,expr ...]
             [ORDER BY {unsigned_integer | col_name | expr} [ASC | DESC] [,col_name ...]]
             [SEPARATOR str_val])
Copier après la connexion

où expr représente la colonne ou l'expression à épisser ; ORDER BY et SEPARATOR représentent respectivement le tri et le séparateur, qui sont facultatifs. A noter que par défaut, la chaîne renvoyée par la fonction GROUP_CONCAT a une limite de longueur, qui peut être modifiée en définissant le paramètre group_concat_max_len.

Par exemple, pour interroger les noms de tous les employés de chaque service et les concaténer dans une chaîne séparée par des virgules, vous pouvez utiliser l'instruction suivante :

SELECT department, GROUP_CONCAT(last_name ORDER BY employee_number ASC SEPARATOR ', ') AS employee_names
FROM employees
GROUP BY department
Copier après la connexion

La fonction GROUP_CONCAT ici trie last_name dans l'ordre du numéro_employé et les trie avec des virgules séparées par des espaces, comme champ nom_employé dans le résultat de la requête. Les résultats en cours sont les suivants :

department employee_names
Admin Murphy, Patterson, Bondur, Ferrante, Firrelli
Customer Service Tseng, Vanauf, Von ^^ ^^^^
Finance Bow, Firrelli, Patterson, Tseng
... ...
  1. Résumé

Dans le processus de requête MySQL, nous avons souvent besoin de interrogez plusieurs champs ou concaténez des champs à partir de plusieurs tables. Lors de l'implémentation de cette fonction, MySQL fournit trois fonctions de concaténation de chaînes : CONCAT, CONCAT_WS et GROUP_CONCAT, qui sont utilisées pour connecter deux ou plusieurs chaînes, connecter plusieurs chaînes et les séparer avec des délimiteurs spécifiés, et combiner plusieurs champs concaténés en une chaîne. L'utilisation de ces fonctions peut grandement faciliter le traitement de nos données et améliorer l'efficacité des requêtes.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal