oracle数据库的连接运算符and、or使用方法

2025-11-11 00:51:39

1、创建一个数据库表tblEmployee,用于模拟and、or条件

create table tblEmployee

(

  Id         VARCHAR2(50) not null,

  EmpCode    VARCHAR2(50),

  EmpName    VARCHAR2(100),

  Address    varchar2(100),

  Salary     NUMBER

);

oracle数据库的连接运算符and、or使用方法

2、往测试表中插入测试记录,插入记录之后,记得点击Commit按钮,将数据写入数据库。如果不Commit,当前会话是可以查到数据的,但是,其他用户是查询不到这些数据的

insert into tblEmployee(Id, Empcode, Empname, Address, Salary) values(sys_guid(), 'Emp001', '员工1', '广州', 10000);

insert into tblEmployee(Id, Empcode, Empname, Address, Salary) values(sys_guid(), 'Emp002', '员工2', '上海', 20000);

insert into tblEmployee(Id, Empcode, Empname, Address, Salary) values(sys_guid(), 'Emp003', '员工3', '深圳', 30000);

insert into tblEmployee(Id, Empcode, Empname, Address, Salary) values(sys_guid(), 'Emp004', '员工4', '北京', 40000);

insert into tblEmployee(Id, Empcode, Empname, Address, Salary) values(sys_guid(), 'Emp005', '员工5', '武汉', 5000);

oracle数据库的连接运算符and、or使用方法

oracle数据库的连接运算符and、or使用方法

3、查询当前测试表中的所有数据,这个时候是不需要使用

select * from tblEmployee

oracle数据库的连接运算符and、or使用方法

4、and条件:查询地址在上海,名字=员工2的记录。从运行结果可以看出,and条件的意思是,同时满足,只有当and前后的条件都满足的记录才会查询出来

select * from tblEmployee where address = '上海' and empname = '员工2';

oracle数据库的连接运算符and、or使用方法

5、or条件:查询地址在北京,或者名字=员工1的记录。从运行结果可以看出,or条件的意思是或者,只要满足or前后的任意一个就查询出来

select * from tblEmployee where address = '北京' or empname = '员工1';

oracle数据库的连接运算符and、or使用方法

6、and、or同时使用,比如,查询地址在上海,名字=员工2的记录,或者名字=员工1的记录。从运行结果可以看出,当and、or条件一起使用的时候,默认会将相邻and条件合并成一个条件,最后再or条件

select * from tblEmployee where address = '上海' and empname = '员工2' or empname = '员工1';

也就是说,上面这个sql其实最终是按照下面这样执行的

select * from tblEmployee where (address = '上海' and empname = '员工2') or empname = '员工1';

oracle数据库的连接运算符and、or使用方法

7、使用括号的条件,对于上一步的条件,如果想要查询地址在上海,名字是员工1或者员工2的结果,就需要使用到括号了。从运行效果可以看出,sql语句会将括号内的条件当做一个条件来处理

select * from tblEmployee where address = '上海' and (empname = '员工2' or empname = '员工1');

oracle数据库的连接运算符and、or使用方法

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢