我的书说明了
在最小的> SELECT查询要求方面,标准SQL和T-SQL之间存在一个有趣的区别。根据标准SQL,SELECT查询必须具有 最小FROM和SELECT子句。相反,T-SQL仅支持一个SELECT查询 SELECT子句且没有FROM子句。这样的查询就像是针对虚构发出的 只有一行的表。例如,以下查询根据无效 标准SQL,但根据T-SQL有效。
SELECT 10 AS col1, 'ABC' AS col2;
col1 col2
10 ABC
这个功能怎么可能有用?
答案 0 :(得分:4)
并非来自数据库的所有数据实际上都来自数据库/表。也许您想要一些元数据或服务器端变量:
SELECT @server_side_variable;
其他数据库通过使用名为DUAL
的虚拟表来解决限制,因此您有一个FROM
子句,但它实际上并不指向数据库中的任何“真实”表: / p>
SELECT @server_side_variable FROM dual;