我想写一个查询:
我目前的解决方案是:
CREATE TABLE FOO (i INT);
INSERT INTO FOO VALUES (1);
INSERT INTO FOO VALUES (2);
SELECT 1 FROM FOO WHERE 1 = (SELECT i FROM FOO);
但是我不喜欢它 - 它太长了。
答案 0 :(得分:2)
CREATE TABLE FOO (i INT);
CREATE TABLE FOO (i INT);
它不接受创建表,因为它在第一个语句之后已经存在。
答案 1 :(得分:1)
以下是一些全部“正确”但仍会失败的简短查询
SELECT *
SELECT 1e333
SELECT i FROM(SELECT 1i,1i)
详细版本是
SELECT * FROM DUAL
SELECT 1e333 FROM DUAL
SELECT i FROM (SELECT 1 as i, 1 as i FROM DUAL)
他们因各种原因而失败:
1)DUAL没有任何列。
2)1e333不适合浮动。
3)内部查询返回一个包含两个相同命名列的表。因此,外部查询不允许指定此列名。