1、注意:查询条件是日期时,要注意oracle的日期格式:DD-MON-RR。
例:查询1980年12月17日入职的员工:
SELECT * from emp where hiredate = '17-12月-80';
2、where条件可以进行=,<=,>=,表示不等于的方式有三种:!=,<>,not关键字,但是not性能不及<>。
3、between x and y语句表示大于等于x,小于等于y;NOT between x and y语句,表示不在
大于等于x,小于等于y范围内; 注意:①该语法不仅适用与数字类型,同样适用于日期类型;
②对于数值型,x一定要大于y;
③对于日期型,年长值在前,年小值在后;
4、in()及NOT in()关键字:in()关键字,只要条件符合里面中的一个即可,()里面可以写一个或多个条件,作用等同于or关键字;NOT in()正好相反。
例:查询20号或30号部门的员工:
方式一:select * from emp where deptno=20 or depton=30;
方式二:select * from emp where deptno in(30,20);
5、or关键字表示或的意思。
6、like进行模糊查询。
7、%关键字表示0个或多个字符:
例1:查询姓名以大写字母S开头的员工:
select * from emp where ename like 'S%';
解析:S%表示,S开头,后面无所谓。
例2:查询姓名以大写字母N结束的员工:
select * from emp where ename like '%N';
例3:查询姓名第一个字母是T,最后一个字母是R的员工:
select * from emp where ename like 'T%R';
8、_关键字只能代表一个字符:
例:查询姓名是4个字符的员工,且第二个字符是I:select * from emp where ename like '_I__';
9、escape' '关键字,告诉oracle,让' '里面字符后面的一个字符回归其本来意思:
例:查询员工姓名中含有“_”的员工(注意_是关键字):
select * from emp where ename like '%\_%' escape'\';
解析:escape'\'告诉oracle,\后面的第一个字符回归其本来意思。
10、is及is not关键字,参与NULL运算:
注意:null不能参与精确运算,即不能参与=的运算。
例1:查询佣金为null的员工:select * from emp where comm is null;
例2:查询佣金为非null的员工:select * from emp where comm is not null;