在本SQL EXISTS运算符教程中,具有以下语法
SELECT column_name(s)
FROM table_name
WHERE EXISTS
(SELECT column_name FROM table_name WHERE condition);
子查询的SELECT语句中的column_name
重要吗?从其他答案看来,似乎使用了一些随意的列名(S).
在本SQL EXISTS运算符教程中,具有以下语法
SELECT column_name(s)
FROM table_name
WHERE EXISTS
(SELECT column_name FROM table_name WHERE condition);
子查询的SELECT语句中的column_name
重要吗?从其他答案看来,似乎使用了一些随意的列名(S).
从EXISTS
section of Subquery Expressions个文档中:
子查询通常只执行足够长的时间来确定是否至少返回了一行,而不是一直执行到完成.
由于结果仅取决于是否返回任何行以及其中的not on the contents行,因此子查询的输出列表通常并不重要.
它不仅无关紧要,since version 9.4它甚至不一定要在那里:
允许
SELECT
拥有空的目标列表(汤姆·莱恩)
Demo:
CREATE TABLE table_name AS SELECT 'hello' AS "column_name",
true AS "condition" ;
SELECT column_name
FROM table_name
WHERE EXISTS (SELECT FROM table_name WHERE condition);
Column_Name |
---|
Hello |