您的位置:首页 > 数据库 > Oracle

一步一步进攻ORACLE世界(二)

2012-01-12 15:20 218 查看
前面一讲都是最简单的查询语句。数据量都是很微小的。如果遇到庞大的数据群,哪些小技俩就派不上用场。因而查询的条件限制就显得十分重要。它可以方便我们获得我们最需要的信息。ORACLE条件限制查询使用子句WHERE,具体语法:

Select <*,字段1,字段2.。。。> from 表名 where 条件

条件配置的一些常用操作符:

操作符含义
=,<>,!=,>=,<=,>,<这些字符免讲,你懂的
between…and两者之间
in(list)匹配位于列表里值
like匹配某种样式值
is null检测null
(1) where条件数字型
一看就懂,免谈!

SQL> select ename,sal from emp where sal<1000;

ENAME            SAL
---------- ---------
SMITH         880.00
JAMES         950.00


(2) where条件字符型
一看就懂,免谈!

SQL>  select ename,sal from emp where ename='SCOTT';

ENAME            SAL
---------- ---------
SCOTT        2706.00


务必注意,双引号里面字符是区分大小里的。

(3)where条件日期型

SQL> select ename,sal,hiredate from emp where hiredate>'01-1月-82';

ENAME            SAL HIREDATE
---------- --------- -----------
SCOTT        2706.00 1982/1/2
ADAMS        1210.00 1987/5/23
MILLER       1300.00 1982/1/23


当日期显示不符合时,使用to_date来转换。

SQL> select ename,sal,hiredate from emp where hiredate>to_date('1982-01-01','YY-MM-DD');

ENAME            SAL HIREDATE
---------- --------- -----------
SCOTT        2706.00 1982/1/2
ADAMS        1210.00 1987/5/23
MILLER       1300.00 1982/1/23


(4)between…..and操作符

一看就懂,免谈!

SQL> select ename,sal from emp where sal between 100 and 1000;

ENAME            SAL
---------- ---------
SMITH         880.00
JAMES         950.00


(5)like操作符与通配符

主要的通配符: “-” 下划线,匹配一个字符

“%”百分号,匹配0或者多个字符

1.查询以大S为首字母的雇员名,薪水。

SQL> select ename ,sal from emp where ename like 'S%';

ENAME            SAL
---------- ---------
SMITH         880.00
SCOTT        2706.00


2.查询第二个字母为A的雇员名,薪水。

SQL>  select ename,sal from emp where ename like '_A%';

ENAME            SAL
---------- ---------
WARD         1250.00
MARTIN       1250.00
JAMES         950.00
(6)in操作符

查询薪水为880与950的雇员名


SQL>  select ename,sal from emp where sal in (880,950);

ENAME            SAL
---------- ---------
SMITH         880.00
JAMES         950.00
(7)is null操作符


SQL> select ename,mgr,sal from emp where mgr is null;

ENAME        MGR       SAL
---------- ----- ---------
KING               5000.00


(8)逻辑操作符

1.and操作符

SQL> select ename,sal,job,deptno from emp where deptno=20 and job='CLERK';

ENAME            SAL JOB       DEPTNO
---------- --------- --------- ------
SMITH         880.00 CLERK         20
ADAMS        1210.00 CLERK         20


2.or操作符

SQL> select ename,sal,job,deptno from emp where sal<1000 or job='MANAGER';

ENAME            SAL JOB       DEPTNO
---------- --------- --------- ------
SMITH         880.00 CLERK         20
JONES        3272.50 MANAGER       20
BLAKE        2850.00 MANAGER       30
CLARK        2450.00 MANAGER       10
JAMES         950.00 CLERK         30


3.not操作符

SQL> select ename,sal,comm from emp where comm is not null;

ENAME            SAL      COMM
---------- --------- ---------
SMITH         880.00     80.00
ALLEN        1600.00    300.00
WARD         1250.00    500.00
JONES        3272.50    297.50
MARTIN       1250.00   1400.00
SCOTT        2706.00    246.00
TURNER       1500.00      0.00
ADAMS        1210.00    110.00
FORD         3300.00    300.00

9 rows selected


今天主要熟悉条件查询的基本操作!许多我都没有注释,也没必要注释,作为IT一份子,你只要瞧瞧实例,自然明白,多说无益!

本文出自 “紫莹芷嫣” 博客,请务必保留此出处http://skykiss.blog.51cto.com/2892603/762515
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: