oracle的表的数据管理2 -- 基本查询

oracle的基本查询

1.      查询表结构

Desc dept;

2.      查询所有列

Select * from dept;

3.      查询指定列

Select deptno,job from emp;

4.      如何取消重复列

Select distinct deptno,job from emp;

5.      给定条件查询

select sal,job,deptnofrom emp where ENAME='SMITH';

6.      使用算数表达式

Eg:计算每个雇员的年工资

SQL> selectename,sal*12 from emp;

ENAME         SAL*12

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

SMITH           9600

ALLEN          19200

7.      使用列的别名

Eg:为列取一个别名(列字段后面直接加”别名”)

SQL> select ename[as] "姓名",sal*12"年工资"from emp;

姓名             年工资

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

SMITH           9600

ALLEN          19200

WARD           15000

8.      如何处理null值

Eg:当遇到null值做计算时

SQL> select enameas "姓名",sal*12+nvl(comm,0)*12"年工资"from emp;

姓名             年工资

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

SMITH           9600

ALLEN          22800

当遇到null时,加上nvl做判断

9.      连接字符串

Eg:将字段与字段货字段与内容进行连接

SQL> select ename|| ' is a ' || job "人员介绍"from emp;

人员介绍

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

SMITH is aCLERK

ALLEN is aSALESMAN

10.  使用where语句

Eg:基本的where语句

1.

selectename,sal from emp where sal>=3000;  显示工资大于3000的员工

2.

SQL> selectename,HIREDATE from emp where HIREDATE>'1-1-1982';

ENAME     HIREDATE

SCOTT     1987/4/19              显示1982-1-1之后入职的员工

3.

SQL> select ename,salfrom emp where sal>2500 andsal<5000;

ENAME           SAL

JONES       2975.00

BLAKE       2850.00              显示工资在2500到5000之间的员工

11.  使用like操作符

Eg:like操作符主要分两种%和_。

%

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

ENAME           SAL

SMITH        800.00         显示名字第一个字母为S的

_

SQL> selectename,sal from emp where ename like'__O%';

ENAME           SAL

SCOTT       3000.00         显示名字第三个字母为O的

12.  在where条件中使用in

Eg:当产寻条件零碎而多时,可用in()将查询条件隔开

SQL> selectename,empno from emp where empno in (7900,7782,7788);

ENAME     EMPNO

CLARK      7782

13.  使用is null的操作符

Eg:当查询条件为null时使用isnull操作符

SQL> selectename,mgr from emp where MGR is null;

ENAME       MGR

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

KING            

14.  使用逻辑操作符号

Eg:工资大于800或者职位是manager的并且名字第一个字母为J

SQL> select ename,sal,job from emp where (sal>800 or job='MANAGER') and ename like'J%';

ENAME           SAL JOB

JONES       2975.00 MANAGER

JAMES        950.00 CLERK

15.  使用order by字句

Eg:升降序排序展示desc为降序

1.

按照工资从低到高的顺序显示雇员的信息

SQL> select ename,sal from emp order by sal;

ENAME           SAL

SMITH        800.00

JAMES        950.00

2.

按照部门号升序而雇员的工资降序排列

SQL> select DEPTNO,ename,sal from emp order by DEPTNO,sal desc;

DEPTNO ENAME           SAL

   10 KING        5000.00

   10 CLARK       2450.00

   20 FORD        3000.00

   20 JONES       2975.00

16.  使用列的别名排序

Eg:使用别名排序,注意后面也要写上,并且加上asc

SQL> select ename,sal*12 "年薪" from emp order by "年薪" asc;

ENAME             年薪

SMITH           9600

JAMES          11400

posted @ 2013-11-29 21:01  尘。埃  阅读(156)  评论(0编辑  收藏  举报