mysql - 在 MySQL 中工作,在 Oracle 中缺少右括号
问题描述
对于一个类项目,我们使用 MySQL 和 Oracle 创建数据库并编写查询来选择数据。
这个查询:
SELECT E1.EmployeeID, E1.FirstName, E1.LastName
FROM EMPLOYEE AS E1
WHERE EXISTS
(SELECT E2.LastName
FROM EMPLOYEE AS E2
WHERE E1.LastName = E2.LastName
AND E1.EmployeeID <> E2.EmployeeID);
在 MySQL 上工作正常并返回两个结果,但在 Oracle 上,我在 E1 后收到一条错误消息,说我缺少右括号。实际上我需要在某个地方添加括号还是有其他问题?
解决方案
您需要删除AS
以使其在 Oracle 上运行:
SELECT E1.EmployeeID, E1.FirstName, E1.LastName
FROM EMPLOYEE E1 -- here
WHERE EXISTS
(SELECT E2.LastName
FROM EMPLOYEE E2 -- here
WHERE E1.LastName = E2.LastName
AND E1.EmployeeID <> E2.EmployeeID);
推荐阅读
- c++ - 在 gitlab runner 上为 macos 更新 cmake
- python - 如何在python中将多行列表排序为单行列表
- c - 线程进入和线程启动之间的确切区别和关系是什么?
- python - AWS beanstalk + Django: 502 Bad Gateway - ModuleNotFoundError: No module named 'application'
- python - 切换 Python Turtle 模块
- odoo-13 - 根据many2one字段填充其他模块的一些字段
- mysql - 表引用一个表,该表又引用另一个表
- google-gsuite - 如何在 G-Suite 中批量暂停用户
- html - CSS专家的问题,css输入:检查并嵌入svg作为href
- mysql - 无法启动 Hive,并且 Trino 中不存在目录“hive”