sql error-“关键字'WHERE'附近的语法不正确

时间:2015-07-06 10:15:40

标签: sql

SELECT ship from Outcomes outer
WHERE EXIST(select ship from Outcomes inner
where inner.ship=outer.ship
)

为什么我收到错误

  

“关键字'WHERE'附近的语法不正确

3 个答案:

答案 0 :(得分:2)

您不应该将别名用作outerinner的别名,这只会引起混淆。它也是exists

SELECT ship from Outcomes o
WHERE EXISTS
(
  select ship from Outcomes i
  where i.ship = o.ship
)

您的查询也没有多大意义。您正在比较表的所有列值与自身。结果应该输出所有ship,你可以做

SELECT ship from Outcomes

代替。

答案 1 :(得分:0)

SELECT ship from Outcomes o1
WHERE EXISTS(select ship from Outcomes o2
             where o2.ship = o1.ship)

外部和内部都是保留字。用别的东西! (或者双引号,例如"outer"。)此外,它是EXISTS,而不是EXIST。

答案 2 :(得分:-1)

外部和内部都是保留关键字。您可以更好地使用其他别名或将名称放在方括号[]

之间
SELECT ship from Outcomes otr
WHERE EXIST(select ship from Outcomes inr
where inr.ship=otr.ship
)

SELECT ship from Outcomes [outer]
WHERE EXIST(select ship from Outcomes [inner]
where [inner].ship=[outer].ship
)

只有在使用SQL Server

时才能使用squery bracktes