2. select语句中出现的操作符号
2.1 合并操作符select a.ename||' '||to_char(sal) from emp a;2.2 消除重复的行select distinct deptno from emp;2.3 空格、空串、null的区别select ascii(' '),ascii(null),ascii('') from dual;区别: 从显式上看,空串跟null在数据库中存储的值是一样的,但是NULL可以赋给任何数据类型,而空串只能赋给字符串类型过滤null值,需要用下面这种写法select * from emp where comm is not null;典型的错误(但是不会报错)select * from emp where comm != null;select * from emp where comm <> null;select * from emp where comm = null;2.4 比较运算= >= <= <> != > < in like is null is not null between and not between andselect * from emp where sal between 800 and 1500; --包含800和1500=select * from emp where sal >= 800 and sal<= 1500;select * from emp where sal not between 800 and 1500;=select * from emp where sal < 800 or sal > 1500;select * from emp where empno in(7499,7698,7788);=select * from emp where empno=7499 or empno=7698 or empno=7788;select * from emp where ename like 'T%';select * from emp where ename not like 'T%';select * from emp where ename like '%T%';select * from emp where ename not like '%T%';select * from emp where sal != 1000=select * from emp where sal <> 10002.5 逻辑运算符布尔运算(boolean) 取值:TRUE 、FALSE非 或 且且 true and false = false true and true = true flase and false = false或 true or false = true true or true = true flase or false = false非 not true = false not false = trueselect * from emp where sal != 1000 and job='CLERK'select * from emp where sal != 1000 or job='CLERK'注意: 优先级的顺序问题: NOT > AND > OR 如果想要覆盖掉默认优先级顺序,就必须得用小括号 select * from emp where not (job='SALEMAN' or job='CLERK') and sal > 1000select * from emp where not job='SALEMAN' or job='CLERK' and sal > 1000