oracle 表达式运算符优先级

  oracle 有以下几种运算符

  算数运算符  连接运算符  比较(关系)运算符  逻辑运算符

  1.算数运算符

  算数运算符有四个, + , - ,* ,/。

SELECT sal,sal*12 from emp;    #sal 和sal*12后的值。

 

  2.连接运算符

  连接运算符有  || 可以将两个字符串连接在一起。

SELECT ename || “的工资是” || sal FROM emp;   #此||就是将员工和工资连接在一起         bob (ename)“的工资是”1500(sal)

  3.比较(关系)运算符

  关系运算符有  > 大于,>=大于等于, <小于, <= 小于等于,!= 或 <> 不等于。

SELCET  ename,sal,hiredate    from emp WHERE    hiredate > '01-JAN-91';                #找出1991年01月01日日期以后的记录。   

  特殊的关系运算符  "BETWEEN  AND"  "IN" "LIKE"

  BETWEEN AND  为选取一个范围内的的记录。例:

SELECT ename,sal  FROM emp  WHERE sal  BETWEEN 1500 AND 3000;        #sal列下1500-3000的记录。

  IN 为截取多个记录。 例:

SELECT ename,sal,hiredate,job  FROM emp WHERE job  IN ('SALESMAN','CLERAK','MANAGER');   #选取 job值为‘SALESMAN’,'CLERAK','MANAGER'的记录。

  LIKE 结合通配符匹配    例:

SELECT empno,ename,sal,job FROM emp WHERE job LIKE 'SAL%';   #%可以理解为通配符,等同于*号。表示任意字符。

  % 代表0个或多个字符

  _ 代表单个字符 例:

SELECT ename,sal,job FROM emp WHERE job LIKE 'S_L_S%';   #第一个字符为S,第二个为L,第三个为S,的任意值。

如果匹配的值里包含有%或_,可进行转义。例:

CREATE TABLE test_dept AS SELECT * FROM dept;  #新建一张测试表。
INSERT INTO test_dept VALUES(88,'IT_RESE','BEIJING');   #插入记录
SELECT * FROM test_dept WHERE dname LIKE 'IT\_%'  escape '\';   #escape 定义转义字符。

  4.逻辑运算符

  逻辑运算符有   AND (逻辑与)  OR(逻辑或) NOT (逻辑非)

  T为真,F为假   AND 表达式为    表达式1  AND 表达式2   表达式一、二都成立结果为T,否者为F。

  F AND F  = F      F AND T = F    T AND T =T

  AND 优先级    F>NULL>T

  OR    表达式1 OR 表达式2   只要表达式有一个为真,结果就为真。

  F OR F =F       F OR T = T    T OR T = T

  OR 优先级  T >NULL>F

  NOT  表达式1 NOT 表达式2   两边条件都不成立时,结果为真

  F  NOT F =T     F NOT T = F     T NOT T = F

  ---------------------------------------------------------------------------------------

  运算符优先级

算数运算符>连接运算符>关系运算符>IS NULL,IS NOT NULL ,LIKE ,NOT LIKE ,IN ,NOT IN 运算符>BETWEEN  ,NOT BETWEEN 运算符>NOT 逻辑运算符>AND 逻辑运算符>OR 逻辑运算符。例:

SELECT ename,empno,sal,job FROM  emp WHERE job='CLERK' OR job   ='SALESMAN' AND sal>=1500;   #AND 表达式据优先级将会先进行运算。

 

  NULL  表示空值,不等同于空格,表达式只要包含NULL ,其结果就为NULL

  

posted @ 2015-09-28 11:29  落叶之秋  阅读(3788)  评论(0编辑  收藏  举报