Rumah > pangkalan data > tutorial mysql > penyambungan pertanyaan mysql

penyambungan pertanyaan mysql

王林
Lepaskan: 2023-05-20 09:57:38
asal
4234 orang telah melayarinya

Penyambungan pertanyaan MySQL

Apabila menggunakan MySQL untuk membuat pertanyaan, kadangkala anda perlu menyambung berbilang medan atau medan dalam berbilang jadual Dalam kes ini, anda boleh menggunakan fungsi penyambungan rentetan yang disediakan oleh MySQL untuk beroperasi. Fungsi penggabungan rentetan yang biasa digunakan termasuk CONCAT, CONCAT_WS dan GROUP_CONCAT.

  1. Fungsi CONCAT

Fungsi CONCAT digunakan untuk menyambung dua atau lebih rentetan atau medan Sintaksnya ialah:

CONCAT(string1, string2, ...)
Salin selepas log masuk

di mana, rentetan1, rentetan2 . .. mewakili rentetan atau medan yang hendak disambungkan, yang boleh menjadi pemalar, nama lajur, ungkapan, fungsi, dsb. Sebagai contoh, untuk mencari nama dan jawatan pekerja, anda boleh menggunakan pernyataan berikut:

SELECT CONCAT(last_name, ' ', first_name) AS name, job_title
FROM employees
Salin selepas log masuk

Fungsi CONCAT di sini menggabungkan nama_akhir dan nama_pertama dan memisahkannya dengan ruang sebagai nama medan dalam hasil pertanyaan. Keputusan yang dijalankan adalah seperti berikut:

namejob_title
Geoni BakewellProduction Manager
Lemuel MarmieShipping Manager
Lino UselmanEngineer
Honey TunneySales Manager
......
  1. Fungsi CONCAT_WS

Fungsi CONCAT_WS juga digunakan untuk penyambungan rentetan, tetapi tidak seperti fungsi CONCAT, ia boleh menentukan pembatas , sintaksnya ialah:

CONCAT_WS(separator, string1, string2, ...)
Salin selepas log masuk

Antaranya, pemisah mewakili pemisah, yang boleh menjadi sebarang rentetan1, rentetan2... mewakili rentetan atau medan yang hendak disambungkan dan berbilang rentetan dipisahkan dengan koma. Contohnya, untuk mencari nama penuh dan alamat e-mel pekerja, anda boleh menggunakan penyataan berikut:

SELECT CONCAT_WS(' ', first_name, last_name) AS full_name, email
FROM employees
Salin selepas log masuk

Fungsi CONCAT_WS di sini menggunakan ruang sebagai pemisah untuk menggabungkan first_name dan last_name sebagai medan full_name dalam hasil pertanyaan . Keputusan yang dijalankan adalah seperti berikut:

full_nameemail
Geoni Bakewellgbakewell@classicmodelcars.com
Lemuel Marmielmarmie@classicmodelcars.com
Lino Uselmanluselman@classicmodelcars.com
Honey Tunneyhtunney@classicmodelcars.com
......
  1. Fungsi GROUP_CONCAT

Fungsi GROUP_CONCAT digunakan untuk menyambung berbilang medan atau medan dalam berbilang rekod menjadi rentetan sintaks ialah:

GROUP_CONCAT([DISTINCT] expr [,expr ...]
             [ORDER BY {unsigned_integer | col_name | expr} [ASC | DESC] [,col_name ...]]
             [SEPARATOR str_val])
Salin selepas log masuk

Antaranya, expr mewakili lajur atau ungkapan yang akan disambungkan; ORDER BY dan SEPARATOR masing-masing mewakili pengisihan dan pemisah, yang merupakan pilihan. Perlu diingat bahawa secara lalai, rentetan yang dikembalikan oleh fungsi GROUP_CONCAT mempunyai had panjang, yang boleh diubah dengan menetapkan parameter group_concat_max_len.

Sebagai contoh, untuk menanyakan nama semua pekerja di setiap jabatan dan menggabungkannya ke dalam rentetan yang dipisahkan dengan koma, anda boleh menggunakan pernyataan berikut:

SELECT department, GROUP_CONCAT(last_name ORDER BY employee_number ASC SEPARATOR ', ') AS employee_names
FROM employees
GROUP BY department
Salin selepas log masuk

Fungsi GROUP_CONCAT di sini akan last_name mengikut kepada nombor_pekerja diisih mengikut tertib dan dipisahkan dengan koma dan ruang sebagai medan_nama_pekerja dalam hasil pertanyaan. Keputusan yang dijalankan adalah seperti berikut:

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

Semasa proses pertanyaan MySQL, kita selalunya perlu menyambung berbilang medan atau medan dalam berbilang jadual. Apabila melaksanakan fungsi ini, MySQL menyediakan tiga fungsi penggabungan rentetan: CONCAT, CONCAT_WS dan GROUP_CONCAT, yang digunakan untuk menyambungkan dua atau lebih rentetan, menyambung sebarang rentetan berbilang dan memisahkannya dengan pembatas yang ditentukan dan menggabungkan berbilang medan ke dalam rentetan. Menggunakan fungsi ini boleh memudahkan pemprosesan data kami dan meningkatkan kecekapan pertanyaan.

Atas ialah kandungan terperinci penyambungan pertanyaan mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan