Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 选择带有外部联接的查询_Java_Sql_Oracle_Outer Join - Fatal编程技术网

Java 选择带有外部联接的查询

Java 选择带有外部联接的查询,java,sql,oracle,outer-join,Java,Sql,Oracle,Outer Join,我有两张桌子,文件和员工 档案: 文件| ID |文件名|由修改 雇员: ID |名称 10拉胡尔 11普里亚 12罗希思 我想做的是,打印所有文件名和修改该文件的人。我必须使用employee ID从employee表中获取modifiedBy persons'name。如果employeeID在Employees表中不存在,则不能抛出错误。 我被要求使用外部连接。请帮助我完成这项工作,因为我不熟悉此主题请使用此查询: SELECT F.filename, E.name FROM Files

我有两张桌子,文件和员工

档案:

文件| ID |文件名|由修改 雇员:

ID |名称 10拉胡尔
11普里亚
12罗希思

我想做的是,打印所有文件名和修改该文件的人。我必须使用employee ID从employee表中获取modifiedBy persons'name。如果employeeID在Employees表中不存在,则不能抛出错误。 我被要求使用外部连接。请帮助我完成这项工作,因为我不熟悉此主题

请使用此查询:

SELECT F.filename, E.name 
FROM Files AS F 
LEFT OUTER JOIN Employees AS E 
  ON F.modifiedBy = E.ID
文件
表:(使用一个额外的、不存在的
id修改)

Employees
表:

输出:

编辑:

由于您使用的是OracleDBMS,因此需要删除
AS
关键字:

SELECT F.filename, E.name 
FROM Files F 
LEFT OUTER JOIN Employees E 
  ON F.modifiedBy = E.ID

那个人告诉你为什么要做外部连接了吗?你能补充一下预期的结果吗?非常感谢。但当我尝试这样做时,我得到了sql错误:ORA-00933:sql命令未正确结束00933。00000-“SQL命令未正确结束”我在oracleAh中执行它是Oracle,而不是MySQL。请尝试从命令中删除任何AS关键字,然后重试。现在它已经完美了!非常感谢..这真的很有帮助我现在在表文件“ApprovedBy”中有另一列。因此,我还需要打印ApprovedBy名称,使用从文件表中获取的ApprovedBy ID以及从Employees表中获取的相应名称。请help@TeenaSam请用新表的模式发布一个新问题,我很乐意提供帮助。
SELECT F.filename, E.name 
FROM Files F 
LEFT OUTER JOIN Employees E 
  ON F.modifiedBy = E.ID