【问题标题】:Simple Subquery Statement, receiving an error简单的子查询语句,收到错误
【发布时间】:2019-10-06 17:30:47
【问题描述】:

我们正在学习 Oracle SQL 中的子查询。我收到一个错误"SQL command not properly ended",其中包含我教科书中应该可以使用的示例。

我尝试重新调整子查询的间距,但保留准确的代码,这应该可以工作

SELECT last_name, salary
FROM employees
WHERE salary > 11000
                (SELECT salary
                 FROM employees
                 WHERE last_name='Abel');

第 4 行出现错误:ORA-00933:SQL 命令未正确结束

【问题讨论】:

  • 您的教科书中似乎有错字。这个查询想要做什么,找到大于 11000 的薪水或大于 Abel 的薪水?
  • 这本书有一些错误。我的教授回信解释了这一点。感谢您的回复:D
  • 请解释一下代码应该做什么。

标签: sql oracle subquery


【解决方案1】:

11000 和以下子选择之间需要有一些东西。例如,可能是为了以下目的:

SELECT last_name, salary
FROM employees
WHERE salary > 11000 AND
      salary IN (SELECT salary
                 FROM employees
                 WHERE last_name='Abel');

【讨论】:

  • 谢谢,知道了! ?
【解决方案2】:

这是你想要的吗?

SELECT last_name, salary
FROM employees
WHERE salary > 11000 AND
      last_name = 'Abel';

这将返回工资超过 11,000 的名为“Abel”的员工。

【讨论】:

  • 教科书暗示11000,但写在主查询区。因为我们的书是灰度的,所以我认为它是代码的一部分。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-21
  • 2013-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多