龙空技术网

oracle的学习历程5——查询

程序员修炼手册 216

前言:

眼前各位老铁们对“oracle查看系统job”大体比较看重,姐妹们都想要剖析一些“oracle查看系统job”的相关资讯。那么小编同时在网络上汇集了一些对于“oracle查看系统job””的相关文章,希望同学们能喜欢,你们一起来了解一下吧!

使用数据库和表的主要目的是存储数据,以便在需要时进行检索、统计或组织输出,

数据查询是数据库中进行的最为频繁的操作,应用程序从数据库中获取数据就是通过查询数据库获取的。数据查询也是应用程序向数据库中写入数据、修改数据、信息统计与分析的基础。

在oracle数据库中,通过SQL查询可以从表或视图忠迅速、方便地检索数据。SQL的SELECT语句可以实现数据的查询,其功能十分强大.

注意要连接到SCOTT才能直接使用emp表,具体可看

oracle数据库的学习历程2——连接SCOTT

查询平均工资

Select avg(sal) from emp;

//使用聚合函数avg(),以emp表中的所有属于列sal的数据聚合在一起.

如果检索的列还包含部门号deptno,则会提示:不是单组分组函数.

因为avg(sal)是聚合函数,会把sal列的所有数据聚合在一起,变成一行数据。

而部门号(deptno)并没有聚合在一起的,也就是说部门号(deptno)现在还有多行数据

显然一(avg(sal))对多(deptno)是不符合逻辑的

以部门号和工作分组,查询平均工资

select deptno,job,avg(sal) from empgroup by deptno,job;

//group by是分组的意思,就是把部门号(deptno)和工作(job)都相同的行聚合在一起

如果检索的列还包含sal则会提示不是GROUP BY 表达式,分组的列要用聚合函数表示,

//因为分组就相当把同样的数据聚合在一样,比如GROUP BY deptno,job;这把emp表按部门号进行分组

//部门号相同的行聚合在一起,统一归纳到同一个部门号中。而一个sal对应的是每个个体的工资,

//试想一个表中的数据第一列为部门号,第二列却是表示个人工资的sal

//很容易发现,以集体对个体,多对一的方式来查询列表是不符合逻辑的。

PS:oracle安装教程可点击下方"了解更多"获取。

标签: #oracle查看系统job #oracle视图子查询语句 #oracle工资证明 #oracle查询逻辑 #oracle查询结果写入表