Oracle中where子句怎么用

59次阅读
没有评论

共计 2350 个字符,预计需要花费 6 分钟才能阅读完成。

这篇文章给大家分享的是有关 Oracle 中 where 子句怎么用的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,一起跟随丸趣 TV 小编过来看看吧。

查询 emp 表中 20 号部门的员工信息

select * from emp where deptno = 20;

查询姓名是 SMITH 的员工,字符串使用,内容大小写敏感

select * from emp where ename =  SMITH

总结:你所学过的技术中,哪些是大小写敏感,哪些是大小写不敏感

查询 1980 年 12 月 17 日入职的员工,注意 oracle 默认日期格式(DD-MON-RR 表示 2 位的年份 )

select * from emp where hiredate =  17-12 月 -80

查询工资大于 1500 的员工

select * from emp where sal   1500;

查询工资不等于 1500 的员工【!= 或】

select * from emp where sal   1500;

查询薪水在 1300 到 1600 之间的员工,包括 1300 和 1600【between 应用于数字】

select * from emp where (sal =1300) and (sal =1600);

select * from emp where sal between 1300 and 1600;

查询薪水不在 1300 到 1600 之间的员工,不包括 1300 和 1600【not between】

select * from emp where sal NOT between 1300 and 1600;

查询入职时间在 1981- 2 月 -20 到 1982- 1 月 -23 之间的员工【between 应用于日期】

select * from emp where hiredate between  20- 2 月 -81  and  23- 1 月 -82

注意:

1) 对于数值型,小数值在前,大数值在后

2) 对于日期型,年长值在前,年小值在后

查询 20 号或 30 号部门的员工,例如:根据 ID 号,选中的员工,批量删除【in】

select * from emp where (deptno=20) or (deptno=30);

select * from emp where deptno in (30,20);

查询不是 20 号或 30 号部门的员工【not in】

select * from emp where deptno NOT in (30,20);

查询姓名以大写字母 S 开头的员工,使用 % 表示 0 个,1 个或多个字符【like 模糊查询】

select * from emp where ename like S

等价

select * from emp where ename = S

select * from emp where ename like  S%

注意:

凡是精确查询用 = 符号

凡是不精确查询用 like 符号,我们通常叫模糊查询

查询姓名以大写字母 N 结束的员工

select * from emp where ename like  %N

查询姓名第一个字母是 T,最后一个字母是 R 的员工

select * from emp where ename like  T%R

查询姓名是 4 个字符的员工,且第二个字符是 I,使用_只能表示 1 个字符,不能表示 0 个或多个字符

select * from emp where ename like  _I__

插入一条姓名为 T_IM 的员工,薪水 1200

insert into emp(empno,ename) values(1111, T_IM

查询员工姓名中含有 _ 的员工,使用 \ 转义符,让其后的字符回归本来意思【like %\_% escape \】

select * from emp where ename like  %\_%  escape  \

插入一个姓名叫 的员工

insert into emp(empno,ename) values(2222,

插入一个姓名叫 的员工

insert into emp(empno,ename) values(2222,

查询所有员工信息,使用 % 或 %%

select * from emp;
select * from emp where ename like  % 
select * from emp where ename like  %_%

查询佣金为 null 的员工【is null】

select * from emp where comm is null;

注意:null 不能参与 = 运算

      null 能参与 number/date/varchar2 类型运算

查询佣金为非 null 的员工【is not null】

select * from emp where comm is not null;

查询无佣金且工资大于 1500 的员工

select * 
from emp 
where (comm is null) and (sal 1500);

查询工资是 1500 或 3000 或 5000 的员工  

select * 
from emp 
where sal in (4000,10000,1500,3,300,3000,5000);

查询职位是 MANAGER 或职位不是 ANALYST 的员工(方式一,使用!= 或)

select *
from emp
where (job= MANAGER) or (job ANALYST

查询职位是 MANAGER 或职位不是 ANALYST 的员工(方式二,使用 not)

select *
from emp
where (job= MANAGER) or (not(job= ANALYST

感谢各位的阅读!关于“Oracle 中 where 子句怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-20发表,共计2350字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)