oracle常用查询

1.筛选出empno不重复的数据:

select distinct empno, job from emp;

2.查询多列数据到一列显示:

select  '东至:'||z.东至||'西至:'||z.西至||'南至:'||z.南至||'北至:'||z.北至 as 位置 from 登记权利信息20171221 z

3.连库查询,创建连库

create public database link bdc
connect to BDCDJ identified by hbdc 
using '10.10.20.700/sjzx';

4.删除连库

DROP public DATABASE LINK bdc;

5.表查询到的值改变(Case函数)  

CASE sex  
WHEN '1' THEN '男'  
WHEN '2' THEN '女'  
ELSE '其他' END

6.Case搜索函数  

CASE WHEN sex = '1' THEN '男'  
WHEN sex = '2' THEN '女'  
ELSE '其他' END
case when workid is null or workid=0 then '草稿'  when fstate=3 then '已办结' else to_char(nodename) end as status

7.查询包含房屋性质列的所有表

select table_name  from ALL_TAB_COLUMNS where COLUMN_NAME='FWXZ';

8.查询并过滤完重复数据

(1)针对少量数据剔重比较方便:

select distinct(*) from tablename;

(2)针对大量数据剔重:

select *,row_number() over(partition by a,b order by a) rn from tablename where rn=1;

(3)利用分组去重:

select a,b from tablename group by(a,b);

9.模糊查询拼接

select * from test where shape like '%'|| text || '%';

10.分组查询拼接数据

select dyh,count(1), LISTAGG( to_char(qszt), ',') WITHIN GROUP(ORDER BY dyh) qszt  from jsy group by dyh having count(qzh)>1;

11.查询并拼接

  select count(1), LISTAGG( to_char(qszt), ',') WITHIN GROUP(ORDER BY bdcdyh) qszt  from djb_syq where zt=1 group by bdcdyh having count(bdcqzh)>1;

12.查询包含汉字的数据

select count(1) from TABLES where asciistr(username) like '%%';

13.截取字符串进行比较

select  substr(BDH,1,24) ZH  from q2;


精品软件 | 创客说| 课程 | 用户中心

版权所有:机遇屋在线 Copyright © 2017-2020 aaoit Co., Ltd.

鲁ICP备16042261号