SELECT - SQL vs T-SQL?

时间:2013-08-23 17:55:17

标签: sql sql-server sql-server-2008 tsql

我的书说明了

  

在最小的> 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

这个功能怎么可能有用?

1 个答案:

答案 0 :(得分:4)

并非来自数据库的所有数据实际上都来自数据库/表。也许您想要一些元数据或服务器端变量:

SELECT @server_side_variable;

其他数据库通过使用名为DUAL的虚拟表来解决限制,因此您有一个FROM子句,但它实际上并不指向数据库中的任何“真实”表: / p>

SELECT @server_side_variable FROM dual;