oracle 复习之简单查询
2012-04-16 11:24
225 查看
数据库的查询基本传都是sql语句,当让也会有数据库本身的方言。
1.查询一个表的所有内容:select job from emp;
JOB
---------
CLERK
SALESMAN
SALESMAN
MANAGER
SALESMAN
MANAGER
MANAGER
ANALYST
PRESIDENT
SALESMAN
CLERK
CLERK
ANALYST
CLERK
14 rows selected
此查询出来有好多重复的内容需要去重,要用到关键字distinct
select distinct job from emp;
JOB
---------
CLERK
SALESMAN
PRESIDENT
MANAGER
ANALYST
这样就把重复的内容去除了
2.多字段查询
如要查询 姓名 职位 薪资 :
select ename,job,sal from emp;
也可是使用“||”来连接要查询出的字段
select ename||job||sal from emp;
这个语句和上边的语句是等同的,但是这个查询出来的字段都是挨着的,如下:
ENAME||JOB||SAL
-----------------------------------------------------------
SMITHCLERK800
ALLENSALESMAN1600
WARDSALESMAN1250
JONESMANAGER2975
MARTINSALESMAN1250
BLAKEMANAGER2850
CLARKMANAGER2450
SCOTTANALYST3000
KINGPRESIDENT5000
TURNERSALESMAN1500
ADAMSCLERK1100
JAMESCLERK950
FORDANALYST3000
MILLERCLERK1300
14 rows selected
要解决这个问题,我们可以使用分隔符如逗号,空格等,在oracle中要原样输出的字符要用单引号括起来。在sql中单引号表示的是字符串。
select ename||' '||job||' '||sal from emp;
ENAME||''||JOB||''||SAL
------------------------------------------------------------------
SMITH CLERK 800
ALLEN SALESMAN 1600
WARD SALESMAN 1250
JONES MANAGER 2975
MARTIN SALESMAN 1250
BLAKE MANAGER 2850
CLARK MANAGER 2450
SCOTT ANALYST 3000
KING PRESIDENT 5000
TURNER SALESMAN 1500
ADAMS CLERK 1100
JAMES CLERK 950
FORD ANALYST 3000
MILLER CLERK 1300
3.如要输出的字符串是:
姓名:john,职位:java developer,薪资:800!
例举如下:
select '姓名:'||ename||',职位:'||job||',薪资:'||sal||'!' 职员信息 from emp;
职员信息
-----------------------------------------------------------------------------
姓名:SMITH,职位:CLERK,薪资:800!
姓名:ALLEN,职位:SALESMAN,薪资:1600!
姓名:WARD,职位:SALESMAN,薪资:1250!
姓名:JONES,职位:MANAGER,薪资:2975!
姓名:MARTIN,职位:SALESMAN,薪资:1250!
姓名:BLAKE,职位:MANAGER,薪资:2850!
姓名:CLARK,职位:MANAGER,薪资:2450!
姓名:SCOTT,职位:ANALYST,薪资:3000!
姓名:KING,职位:PRESIDENT,薪资:5000!
姓名:TURNER,职位:SALESMAN,薪资:1500!
姓名:ADAMS,职位:CLERK,薪资:1100!
姓名:JAMES,职位:CLERK,薪资:950!
姓名:FORD,职位:ANALYST,薪资:3000!
姓名:MILLER,职位:CLERK,薪资:1300!
1.查询一个表的所有内容:select job from emp;
JOB
---------
CLERK
SALESMAN
SALESMAN
MANAGER
SALESMAN
MANAGER
MANAGER
ANALYST
PRESIDENT
SALESMAN
CLERK
CLERK
ANALYST
CLERK
14 rows selected
此查询出来有好多重复的内容需要去重,要用到关键字distinct
select distinct job from emp;
JOB
---------
CLERK
SALESMAN
PRESIDENT
MANAGER
ANALYST
这样就把重复的内容去除了
2.多字段查询
如要查询 姓名 职位 薪资 :
select ename,job,sal from emp;
也可是使用“||”来连接要查询出的字段
select ename||job||sal from emp;
这个语句和上边的语句是等同的,但是这个查询出来的字段都是挨着的,如下:
ENAME||JOB||SAL
-----------------------------------------------------------
SMITHCLERK800
ALLENSALESMAN1600
WARDSALESMAN1250
JONESMANAGER2975
MARTINSALESMAN1250
BLAKEMANAGER2850
CLARKMANAGER2450
SCOTTANALYST3000
KINGPRESIDENT5000
TURNERSALESMAN1500
ADAMSCLERK1100
JAMESCLERK950
FORDANALYST3000
MILLERCLERK1300
14 rows selected
要解决这个问题,我们可以使用分隔符如逗号,空格等,在oracle中要原样输出的字符要用单引号括起来。在sql中单引号表示的是字符串。
select ename||' '||job||' '||sal from emp;
ENAME||''||JOB||''||SAL
------------------------------------------------------------------
SMITH CLERK 800
ALLEN SALESMAN 1600
WARD SALESMAN 1250
JONES MANAGER 2975
MARTIN SALESMAN 1250
BLAKE MANAGER 2850
CLARK MANAGER 2450
SCOTT ANALYST 3000
KING PRESIDENT 5000
TURNER SALESMAN 1500
ADAMS CLERK 1100
JAMES CLERK 950
FORD ANALYST 3000
MILLER CLERK 1300
3.如要输出的字符串是:
姓名:john,职位:java developer,薪资:800!
例举如下:
select '姓名:'||ename||',职位:'||job||',薪资:'||sal||'!' 职员信息 from emp;
职员信息
-----------------------------------------------------------------------------
姓名:SMITH,职位:CLERK,薪资:800!
姓名:ALLEN,职位:SALESMAN,薪资:1600!
姓名:WARD,职位:SALESMAN,薪资:1250!
姓名:JONES,职位:MANAGER,薪资:2975!
姓名:MARTIN,职位:SALESMAN,薪资:1250!
姓名:BLAKE,职位:MANAGER,薪资:2850!
姓名:CLARK,职位:MANAGER,薪资:2450!
姓名:SCOTT,职位:ANALYST,薪资:3000!
姓名:KING,职位:PRESIDENT,薪资:5000!
姓名:TURNER,职位:SALESMAN,薪资:1500!
姓名:ADAMS,职位:CLERK,薪资:1100!
姓名:JAMES,职位:CLERK,薪资:950!
姓名:FORD,职位:ANALYST,薪资:3000!
姓名:MILLER,职位:CLERK,薪资:1300!
相关文章推荐
- Oracle DBA 的个人复习笔记——一些简单的Oracle内部简介(1)。
- Oracle 简单查询
- Oracle:简单分析火车票余票查询和座位剩余
- oracle实验1-3:简单的查询语句
- oracle学习 第一章 简单的查询语句 ——01
- Oracle笔记(简单的查询语句)
- Oracle简单查询语句
- Java26日通—第 1 天 Oracle基本命令与简单查询
- 循序渐进学Oracle之简单查询
- Oracle基础知识笔记(4) 简单查询、限定查询、数据的排序
- 基于boost和otlv4连接oracle进行简单查询笔记
- oracle 复习之限定查询
- 1.oracle几个简单查询
- 【Oracle】Oracle跨数据库查询---dblink(2简单的方法)
- oracle简单学习总结(二)——查询
- Oracle 11g Release 1 (11.1)——聚簇和非聚簇的简单查询比较
- 简单查询____oracle
- oracle入门学习(4) SELECT简单查询
- Oracle学习之简单查询
- 对于oracle进行简单树查询(递归查询)