select e.deptno as 部门编号,
d.dname as 部门名称,
count(*) as 部门人数,
sum(case
when e.sal>=2000 then 1 else 0
end) as 工资大于等于2000人数,
sum(case
when e.sal<2000 then 1 else 0
end) as 工资小于2000人数
from emp e,dept d
where e.deptno=d.deptno
group by e.deptno,d.dname
==============================================================
姓名 体征 数值
--------- ---------- --------
美男1 身高 1.60
美男1 体重 60
美男1 胸围 79
美男2 身高 1.69
美男2 体重 55
美男2 胸围 77
转换为如下结果:
姓名 身高 体重 胸围
--------- ---------- --------
美男1 1.60 60 79
美男2 1.69 55 77
SQL语句:
SELECT 姓名,
CASE WHEN 体征=""身高"" THEN MAX(数值) END 身高,
CASE WHEN 体征=""体重"" THEN MAX(数值) END 体重,
CASE WHEN 体征=""胸围"" THEN MAX(数值) END 胸围
FROM
美男 GROUP BY 姓名,体征
==============================================================
查询哪个部门没有员工:
select d.deptno
from emp e,dept d
where d.deptno=e.deptno(+) and e.deptno is null
select d.deptno
from dept d left join emp e
on d.deptno=e.deptno
where e.deptno is null
===================================================================
学生表student(学号,姓名,性别,年龄),课程表course(编号,课程名称),选课表sc(学号,课程编号,成绩)
查询选修了5门课程的学生学号和姓名
select s.id,s.name
from student s
where (select count(*) from sc where sc.id=s.id)=5
====================================================================
查询公司工资最高的前三位:
select * from (select * from emp order by sal desc) where rownum<=3
分享到:
相关推荐
ORACLE 数据库中如何统计表记录数的过程说明
Oracle统计一天内每小时的数据量。在某小时内有数据,该时间段会被统计出来;该时间段内没有交易,该时间段不会被统计出来,默认为0即可
通过调用数据库内置表,视图,函数,存储过程及自定义函数等实现达梦,mysql和oracle数据库表的数据量和数据条数的统计
一、背景 一张person表,有id和name的两个字段,id是唯一的不允许重复,id相同则认为是重复的记录。 二、解决 ...Oracle删除重复数据的SQL(删除所有): 删除重复数据的基本结构写法: 想要删除这些
给大家分享Oracle 统计用户下表的数据量实现脚本,非常不错,具有参考借鉴价值,需要的朋友参考下吧
查询oracle表以及统计数据库的使用情况,是统计数据库使用情况的很好例子。
执行路径:ORACLE的这个功能大大地提高了SQL的执行性能并节省了内存的使用:我们发现,单表数据的统计比多表统计的速度完全是两个概念.单表统计可能只要0.02秒,但是2张表联合统计就可能要几十表了. 这是因为ORACLE只对...
oracle查询一个月之内数据,例如查询某个月用户使用短信多少跳
统计oracle的一个库所拥有的记录数,思路是先得到数据库里所有的表,然后再统计每个表里面有多少条记录,累加最后得到总记录数。
不错,收集在一块方便查看 这里提供的是执行性能的优化,而不是后台数据库优化器资料: 参考数据库开发性能方面的各种问题,收集了一些优化方案统计如下
提高ORACLE数据库的查询统计速度,非常实用
db block changes:那部分造成SGA中数据块变化的insert,update或delete操作数 这项统计可以大概看出整体数据库状态。在各项事务级别,这项统计指出脏缓存比率。 execute count:执行的sql语句数量(包括递归sql...
今天复习一下之前用到的连续相同数据的统计。 首先,创建一个简单的测试表,这里过程就略过了,直接上表(真的是以简单为主,哈哈…) 第一种写法row_number(): SELECT val,COUNT(*) FROM (SELECT ID,val, row_number() ...
本文描述通过统计分析出医院信息系统需分区的表,对需分区的表选择分区键,即找出包括在你的分区键中的列(表的属性),对大型数据的管理比较有意义, 本文的工作在Oracle8.1.6下实现。 Oracle虽然是一个大型的DBMS,...
数据库mysql/oracle通用2022节假日数据脚本可直接使用,包含年、月、日、节假日、工作日、休息日。项目中实际使用实践,请大家放心下载。
v$sqlarea:共享池中使用当前光标的统计信息,光标是一块内存区域,有Oracle处理SQL语句时打开。 v$statname:在v$sesstat中报告各个统计的含义 v$sysstat:基于当前操作会话进行的系统统计 v$waitstat:出现一个...
本文描述通过统计分析出医院信息系统需分区的表,对需分区的表选择分区键,即找出包括在你的分区键中的列(表的属性),对大型数据的管理比较有意义, 本文的工作在Oracle8.1.6下实现。 Oracle虽然是一个大型的DBMS,...
FJ_PEOPLE_STAT (本人自建的测试表,用于统计人口数,可用层次查询,经测试过可用,最后全省人口数=表所有的行人口数的累计) STAT DATE CODE VARCHAR2(100) NAME VARCHAR2(300) PEOPLE_NUM NUMBER(6)
ORACLE执行成本分析时首先取出所应用表及索引的统计数据进行分析,其中数据行数是一个重要的参数,因为ORACLE在分析表大小时行数为主要参数,如果进行两个表联合时,ORACLE会通过分析表的大小,决定应用小表进行全...
您可能感兴趣的文章:shell脚本操作oracle删除表空间、创建表空间、删除用户杀掉oracle在线用户脚本分享[Oracle] 如何使用触发器实现IP限制用户登录在命令行下进行Oracle用户解锁的语句深入探讨:Oracle中如