Oracle 中的 NVL 函数



我想从表员工中选择所有数据,并与其他表进行内部连接,例如:

SELECT * FROM EMPLOYEE 
INNER JOIN Deparment ON Employee.Id_Department = Deparment.Deparment_Id 
AND NVL('Mathematics', Deparment.Name);

当我执行时,我收到一个错误ORA-00920:无效的关系运算符,我认为也许nvl()函数是这里的问题。

您需要在NVL('Mathematics', Deparment.Name)之后添加一个关系运算符,例如=, !=, <

AND NVL(Deparment.Name,'Mathematics')='Physics'

您没有在连接语句中提到第二个条件,也NVL()函数参数放错了位置。 尝试将员工部门名称假定为department_name并根据需要更改脚本

SELECT *
FROM   employee
inner join deparment
ON employee.id_department = deparment.deparment_id
AND employee.department_name =
NVL(deparment.name, 'Mathematics');  

最新更新