在SELECT(COLNAME)mysql中,括号是什么意思

在SELECT(COLNAME)mysql中,括号是什么意思,mysql,Mysql,我在查看某人的代码时遇到了这种select语法: SELECT (Test_ID) id, (Test_Host) host, (Test_Port) port FROM Test_Connection 我可以看出括号在这里的作用,它可能意味着选择Test\u ID AS ID,但是使用上面的内容与使用AS相比,有什么优点或缺点呢?你说得对。这意味着选择列名作为别名。这是一种奇怪的编码风格,可能代表了某些人对SQL的理解程度。消除亲子关系没有害处。只要保持所有代码相似即可 将用作是必要的,但与

我在查看某人的代码时遇到了这种select语法:

SELECT (Test_ID) id, (Test_Host) host, (Test_Port) port
FROM Test_Connection

我可以看出括号在这里的作用,它可能意味着
选择Test\u ID AS ID
,但是使用上面的内容与使用
AS
相比,有什么优点或缺点呢?

你说得对。这意味着
选择列名作为别名
。这是一种奇怪的编码风格,可能代表了某些人对SQL的理解程度。消除亲子关系没有害处。只要保持所有代码相似即可

用作
是必要的,但与缩进一起使用会产生更易于阅读的代码


括号用于设置表达式的操作顺序。对于单列,它们是冗余的,但不会导致任何错误,因为语法分析器无论如何都会删除它们。这种样式会产生混乱且难以阅读的代码。

括号没有任何作用。它们只是将一个表达式放在括号中,该表达式由单个列名组成

最好使用
as
来定义列ALAise:

SELECT Test_ID as id, Test_Host as host, Test_Port as port
FROM Test_Connection;
为了理解原因,考虑这两个选择子句:

SELECT Test_ID, Test_Host, Test_Port
SELECT Test_ID Test_Host, Test_Port
第一个返回三列,第二个只返回两列。缺少逗号可能很难发现,并导致调试问题


我承认,将列表达式放在括号中也可以解决这个问题(别名不允许使用括号)。但是,您也可以使用标准的编码实践。

这只是一种不同的语法。它符合相同的要求。
As
对于不懂SQL语法的人来说是完全可选的-是的。你是否也喜欢键入不必要的符号。是的,当其他人正在阅读代码时,你可能会造成混乱(正如你现在所做的那样)