gpt4 book ai didi

sql - SQL 查询中的空格是可选的吗?

转载 作者:行者123 更新时间:2023-12-01 09:07:36 30 4
gpt4 key购买 nike

我注意到使用 Oracle 或 SQLite,这样的查询是完全有效的

SELECT*FROM(SELECT a,MAX(b)i FROM c GROUP BY a)WHERE(a=1)OR(i=2);

SQL 的一个“特性”是查询的关键字或单词不需要用空格包围吗?如果是这样,为什么要这样设计? SQL 被设计为可读的,这似乎是一种混淆形式(特别是 MAX(b)i 的东西,其中 i 是用作别名的标记)。

最佳答案

SQL-92 BNF Grammar here明确指出分隔符(括号、空格、* 等)可有效分解标记,这使得 white space在其他分隔符已经分解标记的各种情况下是可选的。

这不仅适用于 SQLite 和 Oracle,而且至少适用于 MySQL 和 SQL Server(我使用并测试过),因为它是在语言定义中指定的。

关于sql - SQL 查询中的空格是可选的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4947486/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com