SELECT ship from Outcomes outer
WHERE EXIST(select ship from Outcomes inner
where inner.ship=outer.ship
)
为什么我收到错误
“关键字'WHERE'附近的语法不正确
答案 0 :(得分:2)
您不应该将别名用作outer
和inner
的别名,这只会引起混淆。它也是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