Oracle——Oracle基本查询语句


实验内容:

  1. 编写简单查询语句,理解笛卡尔积、选择、投影的概念及其在SQL中的实现
  2. 查询员工表与部门表的笛卡尔积
  3. 在上述操作的基础上完成连接的选择操作和投影操作
  4. 对查询数据进行排序操作

一、简单查询


– 编写查询语句,完成对员工信息、部门情况等的基本查询

    set linesize 160;
    set pagesize 66;

– 查询工资超过2500的员工基本信息

prompt 查询工资超过2500的员工基本信息
select *
from emp
where sal>2500;

这里写图片描述


– 查询月总收入超过2500的员工基本信息

prompt 查询月总收入超过2500的员工基本信息
select empno,ename,job,mgr,sal,comm,(sal+nvl(comm,0))incoming,hiredate,deptno
from emp
where (sal + nvl(comm,0))>2500;

这里写图片描述

– 查询工资超过2500的员工的姓名及其所在部门名称

prompt 查询工资超过2500的员工的姓名及其所在部门名称
select ename,dname,sal
from emp,dept
where emp.deptno = dept.deptno
and sal>2500;

这里写图片描述

– 查询所有员工的工资、奖金、总收入,并按部门编号排序

prompt 查询所有员工的工资、奖金、总收入,并按部门编号排序
select deptno,sal,comm,nvl(sal,0)+nvl(comm,0)incoming
from emp
where 1=1
order by deptno;

这里写图片描述

– 查询全公司的平均工资、最高工资、最低工资和总奖金数。

prompt 查询全公司的平均工资、最高工资、最低工资和总奖金数。
select avg(sal) 平均工资,
       max(sal) 最高工资,
       min(sal) 最低工资,
       sum(nvl(sal,0)) 总工资,
       sum(nvl(comm,0)) 总奖金,
       sum(sal+nvl(comm,0)) 总收入
from emp;

这里写图片描述

二、分组查询

– 编写分组查询语句,理解分组查询的意义


– 编写分组查询语句,实现分组查询的应用

–select 语句里面只能出现聚合函数、group by里面的字段

prompt 查询各部门的平均工资、最高工资、最低工资和总奖金数
select emp.deptno,
       max(dname) dname,
       avg(sal) 平均工资,
       max(sal) 最高工资,
       min(sal) 最低工资,
       sum(nvl(comm,0)) 总奖金
from emp,dept
where emp.deptno = dept.deptno
group by emp.deptno
order by deptno;

这里写图片描述


三、增删改语句

– 添加数据

insert into dept values(50,'education','LOUDI');
insert into dept (deptno,loc,dname) values(60,'LOUDI','education2');
insert into dept (deptno,dname) values(60,'education2');
select * from dept;

这里写图片描述

– 删除数据

select *
from emp;
delete from emp
where sal>2500;

这里写图片描述

– 修改数据

update emp set sal = 2500 where sal < 900;
select *
from emp;

这里写图片描述

声明:May丶乘剑的部落小阁|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - Oracle——Oracle基本查询语句


一个偶尔努力、偶尔懈怠的"搬砖"人