Oracle中where子句怎么用
这篇文章给大家分享的是有关Oracle中where子句怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
查询emp表中20号部门的员工信息
select*fromempwheredeptno=20;
查询姓名是SMITH的员工,字符串使用'',内容大小写敏感
select*fromempwhereename='SMITH';
总结:你所学过的技术中,哪些是大小写敏感,哪些是大小写不敏感
查询1980年12月17日入职的员工,注意oracle默认日期格式(DD-MON-RR表示2位的年份)
select*fromempwherehiredate='17-12月-80';
查询工资大于1500的员工
select*fromempwheresal>1500;
查询工资不等于1500的员工【!=或<>】
select*fromempwheresal<>1500;
查询薪水在1300到1600之间的员工,包括1300和1600 【between应用于数字】
select*fromempwhere(sal>=1300)and(sal<=1600);
或
select*fromempwheresalbetween1300and1600;
查询薪水不在1300到1600之间的员工,不包括1300和1600 【not between】
select*fromempwheresalNOTbetween1300and1600;
查询入职时间在"1981-2月-20"到"1982-1月-23"之间的员工【between应用于日期】
select*fromempwherehiredatebetween'20-2月-81'and'23-1月-82';
注意:
1)对于数值型,小数值在前,大数值在后
2)对于日期型,年长值在前,年小值在后
查询20号或30号部门的员工,例如:根据ID号,选中的员工,批量删除【in】
select*fromempwhere(deptno=20)or(deptno=30);
或
select*fromempwheredeptnoin(30,20);
查询不是20号或30号部门的员工【not in】
select*fromempwheredeptnoNOTin(30,20);
查询姓名以大写字母S开头的员工,使用%表示0个,1个或多个字符【like模糊查询】
select * from emp where ename like 'S';
等价
select * from emp where ename = 'S';
select*fromempwhereenamelike'S%';
注意:
凡是精确查询用=符号
凡是不精确查询用like符号,我们通常叫模糊查询
查询姓名以大写字母N结束的员工
select*fromempwhereenamelike'%N';
查询姓名第一个字母是T,最后一个字母是R的员工
select*fromempwhereenamelike'T%R';
查询姓名是4个字符的员工,且第二个字符是I,使用_只能表示1个字符,不能表示0个或多个字符
select*fromempwhereenamelike'_I__';
插入一条姓名为'T_IM'的员工,薪水1200
insert into emp(empno,ename) values(1111,'T_IM');
查询员工姓名中含有'_'的员工,使用\转义符,让其后的字符回归本来意思【like '%\_%' escape '\'】
select*fromempwhereenamelike'%\_%'escape'\';
插入一个姓名叫'的员工
insertintoemp(empno,ename)values(2222,'''');
插入一个姓名叫''的员工
insertintoemp(empno,ename)values(2222,'''''');
查询所有员工信息,使用%或%%
select*fromemp;select*fromempwhereenamelike'%';select*fromempwhereenamelike'%_%';
查询佣金为null的员工【is null】
select*fromempwherecommisnull;
注意:null不能参与=运算
null能参与number/date/varchar2类型运算
查询佣金为非null的员工【is not null】
select * from emp where comm is not null;
查询无佣金且工资大于1500的员工
select*fromempwhere(commisnull)and(sal>1500);
查询工资是1500或3000或5000的员工
select*fromempwheresalin(4000,10000,1500,3,300,3000,5000);
查询职位是"MANAGER"或职位不是"ANALYST"的员工(方式一,使用!=或<>)
select*fromempwhere(job='MANAGER')or(job<>'ANALYST');
查询职位是"MANAGER"或职位不是"ANALYST"的员工(方式二,使用not)
select*fromempwhere(job='MANAGER')or(not(job='ANALYST'));
感谢各位的阅读!关于“Oracle中where子句怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。