Oracle Select语句的作用是在表单中查询数据,本文将为大家带来Select语句的详细用法介绍。
公司主营业务:做网站、成都网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出银州免费做网站回馈大家。
SELECT语句使用方法
在Oracle中,表是由列和行组成。 例如,示例数据库中的customers表具有以下列:customer_id,name,address,website和credit_limit。customers表中这些列中也有对应的数据。
要从表的一个或多个列(column_1,column_2,…,column_n)中检索数据,请使用以下语法的SELECT语句:
在这个SELECT语句中:
首先,需要指定要查询数据的表名。
其次,指定想要返回数据的列。 如果需要返回多个列,则需要用逗号(,)将这些列分隔。
注意,SELECT语句非常复杂,由许多子句组成,如ORDER BY,GROUP BY,HAVING,JOIN。 为了简单起见,在本教程中,我们只关注SELECT和FROM子句的用法。
教程来源:树懒学堂_一站式数据知识平台_Oracle Select语句
既然表1是末级数据,那么可以从这个数据中截取出上级的代码,可以先截取,形成新的视图,然后再利用rollup分组,最后在和b表关联,就能得到C了。
类似:select acc_1,acc_2,acc_3,acc_4,acc_5,acc_code,sum(qmjf)(select substr(acc_code,1,4) acc_1,substr(acc_code,1,7) acc_2,substr(acc_code,1,9) acc_3,substr(acc_code,1,11)acc_4,substr(acc_code,1,13) acc_5,acc_code,qmjf from 表1) a group by rollup(acc_code,acc_5,acc_4,acc_3,acc_2,acc_1)
直接用截取分组应该也可以,不过这个就要去尝试了,我这里没有环境测试啊,这个就要靠你自己了。上面的语句也不一定对(比如如果没有5002,那么acc_1那个不截取也可以),我只是写个意思啊。
至于页面上的显示,java判断一下,acc_5有内容就显示这个,要么就判断acc_4,然后一直判断到acc_1。
如果非要展示在一列里面,那么只能是分别查询然后union all了。
类似:
select substr(acc_code,1,4),sum(qmjf) from table group by substr(acc_code,1,4)
union all
select substr(acc_code,1,7),sum(qmjf) from table group by substr(acc_code,1,7)
union all
。。。。。。写完你需要的
然后再去关联B表,或者写的时候直接写上。不过这个要group by N遍表。估计执行计划会吓死人的。虽然上一个也不怎么样,但是好歹是一个语句。
oracle中sum分组取值/汇总值用如下方法。
如emp表中有如下数据:
现要按deptno分组,求每组中sal的值/汇总值,可用如下语句:
select deptno,sum(sal)/(select sum(sal) from emp) from emp group by deptno;
查询结果:
select 文件夹名称, 日期, 数量,sum(数量)over(partition by 文件夹名称 order by 日期) 汇总结果
from 视图名
如果是分别显示,可以写成两条语句:
select
avg(salary),deptno
from
a
group
by
deptno;
select
avg(salary),companyno
from
a
group
by
companyno;
如果需要用一条SQL实现,使用CUBE函数:
select
avg(salary),deptno,companyno
from
a
group
by
cube(deptno,companyno);
1.sqlplus 需要输入账号密码才能登陆,此处只能一般账号(scott)和普通管理员(system)登陆
2.sqlplus /nolog 可以直接登录到oracle(无需账号密码)
3. conn 用户名/密码@服务器IP地址:端口/实例名 as 连接身份
实例: conn sys/123456@127.0.0.1:1521/orcl as sysdba
1)查看oracle服务端监听器状态:
lsnrctl status
2)如果没有监听:lsnrctl stop lsnrctl start
3)发现端口是1525而不是1521,问题最终解决!
4.执行系统命令
host 系统命令 eg: host mkdir d:\testoracle #在D盘创建一个叫testoracle的文件夹
5.清屏: clear screen
6.查看error信息: show error
7.查看当前登录的用户 show user
8.导出记录到本地的文件中:
spool 指定导出到本地的文件名
关闭导出记录:spool off
9.导入sql文件:
start sql文件存放的位置
10.密码修改:passw 修改当前用户的密码,如需修改其他用户的密码,必须使用sys账号修改
11.环境变量设置:
临时修改,重启下sqlplus就会丢失设置
set linesize 60 (默认80,show linesize 显示) 设置显示行的高度
set pagesize 20 (默认14,show pagesize) 设置每页显示的行数
永久修改:
文件位置:E:\oracle\Administrator\product\11.2.0\dbhome_1\sqlplus\admin\glogin.sql
添加内容如下:
set linesize 60
set pagesize 20