2017-08-19 58 views
-5

我刚刚遇到这个SQL查询在这个article这个SQL查询会做什么?

这个SQL查询实际执行什么?

查询:

SELECT 'ID' COL, MAX(ID) AS MAX 
FROM TEST 
UNION 
SELECT 'NAME', MAX(NAME) 
FROM TEST; 
+6

你有查询和数据,所以你会测试它......为什么问? – Bhargav

+0

确切的问题是什么?也许结果是什么?或者SQL服务器在执行过程中做了什么?或别的东西 – ASpirin

+0

如果你知道联合的逻辑意义,你可能会理解这个查询,而不需要任何sql知识。 –

回答

1

此查询创建一个名为COL列,并把 'ID' 的字面价值在里面。

然后,它会提供第一个(或最高)ID(数字或字母,取决于字段ID的类型),并将其放在与名为(MAX)的列下的字面值“ID”相同的行中。

然后,根据字段类型取第一个(或最高)名称,并将字面值“名称”放入COL列,将第一个/最高名称放入第二列(MAX)。

UNION将这两行组合成一个结果集。

+0

感谢user681574 –