Heim > Datenbank > MySQL-Tutorial > Hauptteil

MySQL-Abfragespleißen

王林
Freigeben: 2023-05-20 09:57:38
Original
4206 Leute haben es durchsucht

MySQL-Abfragespleißen

Wenn Sie MySQL zum Abfragen verwenden, müssen Sie manchmal mehrere Felder oder Felder in mehreren Tabellen verbinden. In diesem Fall können Sie für den Betrieb die von MySQL bereitgestellte String-Splicing-Funktion verwenden. Zu den häufig verwendeten Funktionen zur Zeichenfolgenverkettung gehören CONCAT, CONCAT_WS und GROUP_CONCAT.

  1. CONCAT-Funktion

Die CONCAT-Funktion wird verwendet, um zwei oder mehr Zeichenfolgen oder Felder zu verbinden. Die Syntax lautet:

CONCAT(string1, string2, ...)
Nach dem Login kopieren

wobei string1, string2... die zu verbindenden Zeichenfolgen oder Felder darstellen, die Konstanten sein können. Spaltennamen, Ausdrücke, Funktionen usw. Um beispielsweise den Namen und die Position eines Mitarbeiters zu ermitteln, können Sie die folgende Anweisung verwenden:

SELECT CONCAT(last_name, ' ', first_name) AS name, job_title
FROM employees
Nach dem Login kopieren

Die CONCAT-Funktion verkettet hier Nachname und Vorname und trennt sie durch Leerzeichen als Feldname des Abfrageergebnisses. Die laufenden Ergebnisse lauten wie folgt:

NameJobtitel
Geoni BakewellProduktionsleiter
Lemuel MarmieVersandleiter
Lino UselmanIngenieur
Honey Tunney Sales Manager
......
  1. CONCAT_WS-Funktion

CONCAT_WS-Funktion wird auch für die Zeichenfolgenverkettung verwendet, kann aber im Gegensatz zur CONCAT-Funktion ein Trennzeichen angeben Die Syntax lautet:

CONCAT_WS(separator, string1, string2, ...)
Nach dem Login kopieren

Unter diesen stellt das Trennzeichen das Trennzeichen dar, bei dem es sich um eine beliebige Zeichenfolge handeln kann. Zeichenfolge1, Zeichenfolge2 ... stellen die zu verbindenden Zeichenfolgen oder Felder dar, und mehrere Zeichenfolgen werden durch Kommas getrennt. Um beispielsweise den vollständigen Namen und die E-Mail-Adresse eines Mitarbeiters zu finden, können Sie die folgende Anweisung verwenden:

SELECT CONCAT_WS(' ', first_name, last_name) AS full_name, email
FROM employees
Nach dem Login kopieren

Die Funktion CONCAT_WS verwendet hier Leerzeichen als Trennzeichen, um Vorname und Nachname als Feld „Vollständiger Name“ im Abfrageergebnis zu verketten. Die laufenden Ergebnisse sind wie folgt:

vollständiger_NameE-Mail
Geoni Bakewellgbakewell@classicmodelcars.com
Lemuel Marmielmarmie@ classic modelcars.com
Lino Uselmanluselman @classicmodelcars.com
Honey Tunneyhtunney@classicmodelcars.com
......
  1. GROUP_CONCAT-Funktion.

GROUP_CONCAT Funktion wird zum Kombinieren verwendet Mehrere Felder oder mehrere Felder in einem Datensatz werden zu einer Zeichenfolge zusammengefügt, und die Syntax lautet:

GROUP_CONCAT([DISTINCT] expr [,expr ...]
             [ORDER BY {unsigned_integer | col_name | expr} [ASC | DESC] [,col_name ...]]
             [SEPARATOR str_val])
Nach dem Login kopieren

wobei expr die zu verbindende Spalte oder den Ausdruck darstellt; ORDER BY und SEPARATOR stellen die Sortierung bzw. das Trennzeichen dar, die optional sind. Es ist zu beachten, dass die von der Funktion GROUP_CONCAT zurückgegebene Zeichenfolge standardmäßig eine Längenbeschränkung hat, die durch Festlegen des Parameters group_concat_max_len geändert werden kann.

Um beispielsweise die Namen aller Mitarbeiter in jeder Abteilung abzufragen und sie in einer durch Kommas getrennten Zeichenfolge zu verketten, können Sie die folgende Anweisung verwenden:

SELECT department, GROUP_CONCAT(last_name ORDER BY employee_number ASC SEPARATOR ', ') AS employee_names
FROM employees
GROUP BY department
Nach dem Login kopieren

Die Funktion GROUP_CONCAT sortiert hier den Nachnamen in der Reihenfolge der Mitarbeiternummer und sortiert sie mit durch Leerzeichen getrennten Kommas als Feld „Mitarbeiternamen“ im Abfrageergebnis. Die laufenden Ergebnisse lauten wie folgt:

Abteilung Mitarbeiternamen
Admin Murphy, Patterson, Bondur, Ferrante, Firrelli
Kundendienst T seng, Vanauf, Von ^^ ^^^^
Finanzen Bow, Firrelli, Patterson, Tseng
... ...
  1. Zusammenfassung

Im MySQL-Abfrageprozess müssen wir das oft tun Fragen Sie mehrere Felder ab oder verketten Sie Felder aus mehreren Tabellen. Bei der Implementierung dieser Funktion stellt MySQL drei Funktionen zur Zeichenfolgenverkettung bereit: CONCAT, CONCAT_WS und GROUP_CONCAT, mit denen zwei oder mehr Zeichenfolgen verbunden, mehrere Zeichenfolgen verbunden und durch angegebene Trennzeichen getrennt werden und mehrere Felder zu einer Zeichenfolge kombiniert werden. Die Verwendung dieser Funktionen kann unsere Datenverarbeitung erheblich erleichtern und die Abfrageeffizienz verbessern.

Das obige ist der detaillierte Inhalt vonMySQL-Abfragespleißen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage