oracle数据库方面的知识到今天已经整理了12篇。当然,这不是终点,这只是一个开始,希望我写的文章可以帮助更多初学数据库的童鞋快速上手,如果你觉得文章对你有帮助,那么恭喜你已经入门了,数据库里面的知识有很多,多到让你可以从入门到放弃。那么你可以通过该篇文章快速入门oracle中关于查询的各种姿势:

oracle课程大纲:

    第一章:oracle数据库登录

  第二章:oracle数据库基本操作

  第三章:oracle数据库数据类型和约束

  第四章:oracle数据库创建表

  第五章:oracle数据库数据插入、修改、删除

  第六章:oracle数据库单表查询

  第七章:oracle数据库日期函数处理

  第八章:oracle数据库列的操作

  第九章:oracle数据库多表查询一部

  第十章:oracle数据库多表查询二部

  第十一章:oracle数据库分组查询

  第十二章:oracle数据库子查询

如果你想拿一些数据库的习题练习,下面的例子或许是一个不错的选择!

--题目
--1、新员工王小明,员工编号是11,性别是男,年龄30,岗位编号是5,岗位是测试工程师,部门编号是3,
--部门名称是测试部,薪水6000(基本工资2800,奖金3200);

select * from salary; --薪水表
select * from employ; --员工表
select * from dept; --部门表
select * from station; --岗位表

1题答案

--薪水表
insert into salary(salaryid,employid,basesalary,bonussalary) values(,,,);
commit; --员工表
insert into employ(ename,employid,sex,age,stationid,deptid) values('王小明',,'男',,,);
commit; --部门表
insert into dept(deptid,deptname) values(,'测试部');
commit; --岗位表
insert into station values(,'测试工程师');
commit;

--2、王小明试用期过了,表现非常好,公司决定给他基本工资调薪10%,奖金调15%;

select * from salary; --薪水表
select * from employ; --员工表
select * from dept; --部门表
select * from station; --岗位表 update salary
set basesalary = basesalary + basesalary * 0.1,
bonussalary = bonussalary + bonussalary * 0.15
where salaryid = ;
commit;

--3、查询测试部门最高薪水,最低薪水,平均薪水,显示最高薪水,最低薪水,平均薪水;

select * from salary; --薪水表
select * from employ; --员工表
select * from dept; --部门表
select * from station; --岗位表 select t2.deptname 部门,
max(t3.basesalary + t3.bonussalary) 最高薪,
min(t3.basesalary + t3.bonussalary) 最低薪,
avg(t3.basesalary + t3.bonussalary) 平均薪资
from employ t1, dept t2, salary t3
where t1.employid = t3.employid
and t2.deptid = t1.deptid
and t2.deptid =
group by t2.deptname;

--4、查询所有部门的最高薪水,最低水,平均薪水,显示部门,最高薪水,最低薪水,平均薪水,并按部门名升序排序;

select * from salary; --薪水表
select * from employ; --员工表
select * from dept; --部门表
select * from station; --岗位表
select t3.deptid 部门名称,t3.deptname 部门名字,
max(t2.basesalary+t2.bonussalary) 最高薪,
min(t2.basesalary+t2.bonussalary) 最低薪,
avg(t2.basesalary+t2.bonussalary) 平均薪资
from employ t1, salary t2, dept t3 where t1.employid=t2.employid and t1.deptid=t3.deptid
group by t3.deptid,t3.deptname order by t3.deptname asc;

--5、统计测试部门有多少员工,显示员工数;

select * from salary; --薪水表
select * from employ; --员工表
select * from dept; --部门表
select * from station; --岗位表 select t2.deptname 部门名字, count(t1.employid) 人数
from employ t1, dept t2
where t1.deptid = t2.deptid
and t2.deptid =
group by t2.deptname;

--6、统计所有部门员工数,并按部门进行升序排序,显示部门,员工数;

select * from salary; --薪水表
select * from employ; --员工表
select * from dept; --部门表
select * from station; --岗位表
select t2.deptname 部门名字, count(t1.employid) 员工总数
from employ t1, dept t2
where t1.deptid = t2.deptid
group by t2.deptname
order by t2.deptname asc;

--7、查询所有姓王的所有员工信息;

select * from salary; --薪水表
select * from employ; --员工表
select * from dept; --部门表
select * from station; --岗位表 select *
from employ t1, salary t2, dept t3, station t4
where t1.employid = t2.employid
and t1.deptid = t3.deptid
and t1.stationid = t4.stationid
and t1.ename like '王%'
order by t1.employid;

--8、按部门,性别统计平均薪水;

select t2.deptname 部门名字,
t1.sex 性别,
round(avg(t3.basesalary + t3.bonussalary)) 平均薪水
from employ t1, dept t2, salary t3
where t1.deptid = t2.deptid
and t1.employid = t3.employid
group by t2.deptname, t1.sex;

--9、查询30到40岁的平均薪水;

select t1.ename 姓名, avg(t2.basesalary + t2.bonussalary) 平均薪资
from employ t1, salary t2
where t1.employid = t2.employid
and t1.age between and
group by t1.ename;

--10、查询测试部薪水最高的员工,显示员工姓名;

select * from salary; --薪水表
select * from employ; --员工表
select * from dept; --部门表
select * from station; --岗位表 select t1.ename 员工姓名,
t2.deptname 部门名字,
max(t3.basesalary + t3.bonussalary) 薪水
from employ t1, dept t2, salary t3
where t1.deptid = t2.deptid
and t1.employid = t3.employid
and t2.deptid =
group by t2.deptname, t1.ename;

--11、删除王小明的所有信息

select * from salary; --薪水表
select * from employ; --员工表
select * from dept; --部门表
select * from station; --岗位表 delete from salary where salaryid=;
delete from employ where ename='王小明';
delete from dept where deptid=;
delete from station where stationid=;

oracle数据库查询全系整理的更多相关文章

  1. oracle数据库查询日期sql语句(范例)、向已经建好的表格中添加一列属性并向该列添加数值、删除某一列的数据(一整列)

    先列上我的数据库表格: c_date(Date格式)     date_type(String格式) 2011-01-01                   0 2012-03-07         ...

  2. python操作oracle数据库-查询

    python操作oracle数据库-查询 参照文档 http://www.oracle.com/technetwork/cn/articles/dsl/mastering-oracle-python- ...

  3. C#连接Oracle数据库查询数据

    C#连接Oracle数据库可以实现许多我们需要的功能,下面介绍的是C#连接Oracle数据库查询数据的方法,如果您对C#连接Oracle数据库方面感兴趣的话,不妨一看. using System; u ...

  4. 005.Oracle数据库 , 查询多字段连接合并,并添加文本内容

    /*Oracle数据库查询日期在两者之间*/ SELECT PKID , OCCUR_DATE, PKID || ' 曾经沧海难为水 ' ||TO_CHAR( OCCUR_DATE, ' yyyy/m ...

  5. 004.Oracle数据库 , 查询多字段连接合并

    /*Oracle数据库查询日期在两者之间*/ SELECT PKID , OCCUR_DATE, PKID || TO_CHAR( OCCUR_DATE, ' yyyy/mm/dd hh24:mi:s ...

  6. 001.Oracle数据库 , 查询日期在两者之间

    /*Oracle数据库查询日期在两者之间*/ SELECT OCCUR_DATE FROM LM_FAULT WHERE ( ( OCCUR_DATE >= to_date( '2017-05- ...

  7. oracle数据库查询常用语句

    1.查询SCOTT表中有多少表,并显示表的一些描述select * from all_tables WHERE owner='SCOTT' ; 2.查询oracle数据库版本select * from ...

  8. Oracle数据库的关键系统服务整理

    在Windows 操作系统下安装Oracle 9i时会安装很多服务——并且其中一些配置为在Windows 启动时启动.在Oracle 运行在Windows 下时,有些服务可能我们并不总是需要但又害怕停 ...

  9. oracle数据库查询和更新

    package sqltest; import java.sql.*; import parameter.BaseCanShu; public class PublicDbOracle { stati ...

随机推荐

  1. vue的双向绑定原理解析(vue项目重构二)

    现在的前端框架 如果没有个数据的双向/单向绑定,都不好意思说是一个新的框架,至于为什么需要这个功能,从jq或者原生js开始做项目的前端工作者,应该是深有体会. 以下也是个人对vue的双向绑定原理的一些 ...

  2. android jUnit test 进行自动化测试

    一. 被test的工程: 新建一个android工程:D_session:它有一个activity:D_sessionActivity:package名:com.mysession 二.测试工程: 新 ...

  3. ubuntu下网卡eth1如何修改为eth0

    正常来说,Linux在识别网卡时第一张会是eth0,第二张才是eth1.有时候我们使用虚拟机克隆技术后网卡的信息就会改变,新克隆出来的虚拟主机网卡名字可能变为eth1.无论我们怎么修改都无法改变,这就 ...

  4. 在android开发中添加外挂字体

    1.在项目目录中,右键app——New——Folder—— Assets Folder 2.把.ttf或者.oft文件拷进这个assets文件夹 3.在onCreate()中 Typeface typ ...

  5. java随机数组

    import java.util.Random; public class Ccore { public static void main(String[] args) { for(int i=1;i ...

  6. [置顶] STM32的ADC1采集多条通道,可以不使用DMA功能吗?

    类似的问题 为什么我采集5条通道的电压,而采集到的值却都是第一条的呢? 我什么时候需要使用DMA功能? Ⅰ关于ADC的一些知识 STM32的ADC是一种12位逐次逼近型的模拟数字转换器.它有多达18条 ...

  7. .Net 框架实现AOP(动态代理实现AOP,本文为翻译)

    在上一节,我们将静态实现AOP,但是对于一个大型项目,要想为每个类,每个方法都去实现AOP ,进行日志记录和权限验证似乎是不可能的. 即使可能对于成百上千个类维护,也是很难维护.所以今天的主题就是如标 ...

  8. oracle导入数据和编码问题

    配置contrl文件 load data characterset utf8 append into table role_res_gold fields terminated by ';' TRAI ...

  9. 使用Kismet进行网络扫描

    执行命令启动Kismet root@sch01ar:~# kismet 这个界面是用来设置颜色的,单击Yes按钮,默认颜色灰色 这个界面显示正在使用root用户运行Kismet工具,单击OK 这个界面 ...

  10. oracle数据库中函数的递归调用

    如有下面的表结构AAAA,用一个字段prev_id表示记录的先后顺序,要对其排序,需要用的递归函数 ID PREV_ID CONT 99   a 23 54 d 21 23 e 54 33 c 33 ...