首页 > 代码库 > oracle 高级查询

oracle 高级查询

1、消除重复行
在Oracle查询中结果中,可能出现若干行相同的情况,那么可以使用DISTINCT消除重复行。

代码演示:DISTINCT消除重复行

SQL> SELECT DISTINCT DEPTNO FROM EMP; 


2、NULL操作
如果某条记录中有缺少的数据值,就是空值(NULL值)。空值不等于0或者空格,空值是指未赋值、未知或不可用的值。
任何数据类型的列都可以包括NULL值,除非该列被定义为非空或者主键。
在查询条件中NULL值用IS NULL作条件,非NULL值用IS NOT NULL做条件。 

代码演示:查询EMP表中没有发奖金的员工

SQL> SELECT ENAME,JOB,SAL,COMM FROM EMP 2   WHERE SAL<2000 AND COMM IS NULL;


3、IN 操作
在Where子句中可以使用IN操作符来查询其列值在指定的列表中的行。对应IN操作的还有NOT IN,用法一样,结果相反。

代码演示:IN操作

SQL> SELECT ENAME,JOB,SAL FROM EMP 2  WHERE job IN ('SALESMAN', 'PRESIDENT', 'ANALYST');


4、BETWEEN…AND…

在WHERE子句中,可以使用BETWEEN操作符来查询列值包含在指定区间内的行。BWTWEEN操作所指定的范围也包括边界。

代码演示:BETWEEN操作

SQL> SELECT ename,job,sal FROM EMP WHERE sal BETWEEN 1000 AND 2000;

 

oracle 高级查询