Sql I';我无法执行此Oracle查询(运行时不显示数据)
所以我试图在我的oracle数据库中回答这个问题。我对SQL很陌生。 我的查询是列出员工编号为52和55的员工管理的电影院的全部详细信息。 我在employee表和Cinema表中都有相关的测试数据。 但是,当我运行语句时,它只显示选定的列名,没有数据。当我运行脚本时,它说没有选择行。(即使我已经在两个表中提交了对测试数据的更改) 下面是我使用的代码Sql I';我无法执行此Oracle查询(运行时不显示数据),sql,database,oracle,Sql,Database,Oracle,所以我试图在我的oracle数据库中回答这个问题。我对SQL很陌生。 我的查询是列出员工编号为52和55的员工管理的电影院的全部详细信息。 我在employee表和Cinema表中都有相关的测试数据。 但是,当我运行语句时,它只显示选定的列名,没有数据。当我运行脚本时,它说没有选择行。(即使我已经在两个表中提交了对测试数据的更改) 下面是我使用的代码 SELECT Cinema.Cinema_no , Cinema.Cinema_Name , Cinema.Location , Cinema.M
SELECT Cinema.Cinema_no , Cinema.Cinema_Name , Cinema.Location , Cinema.Managerempno
FROM CINEMA
INNER JOIN employee ON Cinema.Cinema_no = employee.emp_no
WHERE Cinema.Managerempno = '52' AND Cinema.Managerempno = '55' ;
如果我在这件事上完全错了,请告诉我。或者我是否需要改变其中的某些东西。谢谢在中使用:
SELECT c.Cinema_no, c.Cinema_Name, c.Location, c.Managerempno
FROM CINEMA c
WHERE c.Managerempno IN (52, 55);
注:
- 您不需要
加入
。员工编号位于Managerempno
列中
- 表别名使查询更易于编写和读取
Empno
大概是一个数字。所以,不要在常量周围使用单引号
WHERE Cinema.Managerempno in('52','55')
或WHERE Cinema.Managerempno='52'或Cinema.Managerempno='55'
。Cinema no=员工no看起来也不正确,您的加入条件似乎有点不合逻辑。在电影院号码上加入员工号码似乎很奇怪。不是应该是电影院吗?只是一个猜测,当然这取决于你的数据库的外观。@Sharad不要把标题中的“解决”指示您的问题是“现在解决”。接受答案,但检查最有用答案左侧的绿色复选标记。谢谢,似乎我在添加内部连接时完全错了。但是我对where条款有一个模糊的概念。我的大脑疯狂了两个小时,思考为什么它不工作。@Sharad。在添加内部联接时,您并没有“完全错误”。您只是使查询变得有点复杂。