MySQL 如何使用MySQL查询连接来自不同列和附加字符串的字符串?
在MySQL中,我们经常需要进行连接字符串,尤其是当需要在不同的表或列之间连接字符串时。本文通过示例代码介绍如何使用MySQL查询连接来自不同列和附加字符串的字符串。
阅读更多:MySQL 教程
要连接哪些字符串
在学习如何连接字符串之前,我们需要知道要连接哪些字符串。以下是我们将在本文中使用的示例表:
CREATE TABLE `students` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`firstName` VARCHAR(50) NOT NULL,
`lastName` VARCHAR(50) NOT NULL,
`age` INT(3) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
INSERT INTO `students` (`firstName`, `lastName`, `age`)
VALUES
('Tom', 'Smith', 18),
('Jerry', 'Brown', 20),
('Lucy', 'Zhang', 17),
('Jack', 'Wang', 19);
以下是我们要连接的字符串:
firstName
lastName
一串附加的字符串:"是中国的学生"
我们将在下面的代码示例中展示如何连接这些字符串。
连接两个列
首先,我们来展示如何连接两个不同列的字符串。在MySQL中,可以使用CONCAT()
函数连接两个字符串。
假设我们要连接firstName
和lastName
列,我们可以这样写:
SELECT CONCAT(`firstName`, ' ', `lastName`) AS `fullName` FROM `students`;
这将产生以下结果:
fullName
Tom Smith
Jerry Brown
Lucy Zhang
Jack Wang
在上面的代码中,我们使用了一个空格字符' '
来将firstName
和lastName
连接起来。
连接三列及以上
如果您需要连接三个或更多的列,可以使用多个CONCAT()
函数来实现。以下是一个连接三个列的示例:
SELECT CONCAT(`firstName`, ' ', `lastName`, ' - ', `age`, '岁') AS `info` FROM `students`;
这将产生以下结果:
info
Tom Smith - 18岁
Jerry Brown - 20岁
Lucy Zhang - 17岁
Jack Wang - 19岁
连接附加字符串
如果您需要在连接的字符串中包含一些附加内容,可以在CONCAT()
函数中添加字符串参数。例如,如果我们要在连接的字符串后添加"是中国的学生"
,我们可以这样写:
SELECT CONCAT(`firstName`, ' ', `lastName`, ' - ', `age`, '岁', ' 是中国的学生') AS `info` FROM `students`;
这将产生以下结果:
info
Tom Smith - 18岁 是中国的学生
Jerry Brown - 20岁 是中国的学生
Lucy Zhang - 17岁 是中国的学生
Jack Wang - 19岁 是中国的学生
在上面的代码中,我们在CONCAT()
函数中添加了一个字符串参数' 是中国的学生'
,这个字符串将在连接的字符串末尾添加。
结论
在本文中,我们学习了如何在MySQL中连接来自不同列和附加字符串的字符串。无论是连接两个列,还是连接三个及以上的列,我们都可以使用CONCAT()
函数来实现。如果需要在连接的字符串中包含附加内容,可以在CONCAT()
函数中添加一个字符串参数。