MySQL 如何使用SQL连接多个字段
要使用SQL连接超过2个字段,可以使用CONCAT()或CONCAT_WS()函数。语法如下。 让我们首先看看使用CONCAT()。
SELECT CONCAT(yourColumnName1,'/',yourColumnName2, '/',yourColumnName3, '/',......N) AS anyVariableName FROM yourTableName;
语法如下:
SELECT CONCAT_WS(' / ', yourColumnName1, yourColumnName2, ..... N) AS anyVariableName FROM yourTableName;
要了解上述语法,请让我们创建一个表。创建表的查询如下:
mysql> create table MoreThan2ColumnConcat
-> (
-> Id int,
-> Name varchar(20),
-> Age int,
-> Marks int
-> );
查询成功,0行受影响(用时2.59秒)
使用insert命令在表中插入一些记录。查询如下:
mysql> insert into MoreThan2ColumnConcat values (1,'John',24,89);
查询成功,1行受影响(用时0.17秒)
mysql> insert into MoreThan2ColumnConcat values (11,'Larry',25,90);
查询成功,1行受影响(用时0.21秒)
mysql> insert into MoreThan2ColumnConcat values (15,'Mike',26,79);
查询成功,1行受影响(用时0.13秒)
mysql> insert into MoreThan2ColumnConcat values (16,'Sam',21,99);
查询成功,1行受影响(用时0.14秒)
现在,您可以使用select语句显示表中的所有记录。查询如下:
mysql> select *from MoreThan2ColumnConcat;
以下是输出:
+------+-------+------+-------+
| Id | Name | Age | Marks |
+------+-------+------+-------+
| 1 | John | 24 | 89 |
| 11 | Larry | 25 | 90 |
| 15 | Mike | 26 | 79 |
| 16 | Sam | 21 | 99 |
+------+-------+------+-------+
4 rows in set (0.00 sec)
这是使用CONCAT()连接两个以上字段的查询。
mysql> select concat(Id, '/', Name, '/', Age, '/', Marks) as ConcatMoreFields from MoreThan2ColumnConcat;
以下是输出:
+------------------+
| ConcatMoreFields |
+------------------+
| 1/John/24/89 |
| 11/Larry/25/90 |
| 15/Mike/26/79 |
| 16/Sam/21/99 |
+------------------+
4 rows in set (0.00 sec)
让我们看看使用CONCAT_WS()连接两个以上字段的查询。
mysql> select concat_ws('/', Id, Name, Age, Marks) as ConcatMoreFields from MoreThan2ColumnConcat;
以下是输出:
+------------------+
| ConcatMoreFields |
+------------------+
| 1/John/24/89 |
| 11/Larry/25/90 |
| 15/Mike/26/79 |
| 16/Sam/21/99 |
+------------------+
4 rows in set (0.00 sec)
阅读更多:MySQL 教程
极客教程