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