Oracle:where子句

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;

猜你喜欢

转载自blog.csdn.net/weixin_41113108/article/details/80271823