2017-08-19 81 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 –