我可以在三个选择语句之间创建多个工会吗?

时间:2019-12-27 17:38:13

标签: sql

我想在三个select语句之间创建两个联合运算符,以便能够对尝试登录到oracle apex中的数据库应用程序的用户进行身份验证。是否可能?如果正确,怎么做?

select 'USER'
from customers
where upper(cid) = upper(:p_username) and c_pass = :p_password
UNION 
select 'employee'
from employees
where upper(e_un) = upper(:p_username) and e_pass = :p_password;
UNION 
select 'manager'
from employees 
where upper(e_un) = upper(:p_username) and e_pass = :p_password and e_type='MANAGER';

1 个答案:

答案 0 :(得分:0)

总之,有可能。

尽管我会使用区分大小写的用户名和密码比较,并使用union all而非union来获得更好的性能,但是您或多或少都处于正确的轨道。