如果不在列名之间使用逗号,SELECT查询如何在多个列上工作?

时间:2017-02-10 14:14:12

标签: mysql database alias rdbms select-query

我从 w3schools SQL教程

学习 SQL

在研究 SQL别名一章时,我遇到了以下问题:

SELECT CustomerName, Address+', '+City+', '+PostalCode+', '+Country AS Address
FROM Customers;

如果仔细观察查询是从多列获取数据,请使用逗号附加不同列中的数据,并在别名列名地址

下显示数据

如果您想查看工作演示,请转到网址

http://www.w3schools.com/sql/trysql.asp?filename=trysql_select_alias_column2&ss=-1

当我们编写没有别名的普通查询来从表的不同列中获取数据时,我们用逗号分隔列名,如下所示:

SELECT CustomerName, Address, City, PostalCode, Country FROM Customers;

我怀疑是因为SELECT查询中没有使用逗号来从不同的列中获取数据,那么它是如何工作的?

您在第一个查询中看到的现有逗号仅用于连接输出中的字符串。

请有人清楚我的怀疑。

如果有人能够从 MySQL数据库的角度解释我,我会更好,因为我只关心 MySQL数据库系统

谢谢。

2 个答案:

答案 0 :(得分:2)

两者都是两个不同的运营商。服务器解析器识别运算符,或者+。并适当地处理它。评估两个列的列值。

答案 1 :(得分:0)

user2839497!您可以将其视为公式,就像数学公式一样。所以,就像你可以SELECT COL1 + COL2 AS TOTAL_SALES...一样,你也可以在公式中将字符串附加在一起。

顺便说一句,我想我应该补充一点,加号(+)不适用于在每个数据库中附加字符串。有些人有其他语法或方法来做到这一点。 (例如,我相信Informix或Oracle使用两个管道(||)来执行此操作)