数据库的查询基本传都是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!