MySQL:用逗号分隔的查询(mysql逗号查询)
返回多值
在许多Web应用开发中,向数据库返回多个值是一种常见的要求。MySQL允许用户使用“用逗号分隔的查询”来解决这个问题。下面介绍这种查询方法如何实现:
首先,假设使用MySQL版本5.0,在CONCAT函数中定义一个以逗号分隔的字符串,查询示例如下:
SELECT
CONCAT_WS(‘,’,
FIELD_A,
FIELD_B,
FIELD_C
) as my_string
FROM my_table
这里的CONCAT_WS函数将多个字段的值拼接成一个带有逗号的字符串,以便进行返回,结果就像这样子:
my_string
—————————————————-
value_A, value_B, value_C
此外,如果要把多个表联接起来查询,可以这样实现:
SELECT
CONCAT_WS(‘,’,
a.FIELD_A,
b.FIELD_B,
c.FIELD_C
) as my_string
FROM table_A as a
INNER JOIN table_B as b
ON a.FIELD_X = b.FIELD_X
INNER JOIN table_C as c
ON c.FIELD_Y = b.FIELD_Y
这里,通过嵌套查询实现了联接多个表,从而可以从多个表中获取数据,最终把数据拼接成一个返回字符串。
另外,有时候我们希望把多个表的值拼接成一个更高级的单一结果,如:
SELECT
CONCAT_WS(‘-‘,
a.FIELD_A,
b.FIELD_B,
c.FIELD_C
) as my_string
FROM table_A as a
INNER JOIN table_B as b
ON a.FIELD_X = b.FIELD_X
INNER JOIN table_C as c
ON c.FIELD_Y = b.FIELD_Y
这里,通过定义一个新的分隔符`-`,即使字段本身是不同的数据类型,但最终也能拼接成多个值。这个结果将会有这样一个样子:
my_string
——————————————–
value_A-value_B-value_C
以上就是MySQL中用逗号分隔的查询返回多值的方法,当需要从MySQL数据库中返回多个值时,可以使用这种技术,从而更加方便的实现功能。