— 一、简单查询
set pagesize 99 set linesize 160
/**
编写简单查询语句,理解笛卡尔积、选择、投影的概念及其在SQL中的实现
查询员工表与部门表的笛卡尔积
在上述操作的基础上完成连接的选择操作和投影操作
对查询数据进行排序操作**/
prompt Descartes select empno,ename,dname from emp,dept where emp.deptno=dept.deptno order by empno;
–选择:进行条件筛选,投影:显示数据;
–order by 排序
/**编写查询语句,完成对员工信息、部门情况等的基本查询**/
–查询工资超过2500的员工基本信息
select * from emp where sal>2500;
–查询月总收入超过2500的员工基本信息
select * from emp,dept where ((sal>2500)or(sal+comm>2500))and emp.deptno=dept.deptno;
–or
select empno,ename,sal+nvl(comm,0) incoming from emp where sal>2500 order by incoming desc,ename asc;
–查询工资超过2500的员工的姓名及其所在部门名称
select ename,dname from emp,dept where sal>2500 and emp.deptno=dept.deptno;
–查询所有员工的工资、奖金、总收入,并按部门编号排序
select dept.deptno,dname,sal,comm,(sal+comm) from emp,dept where emp.deptno=dept.deptno order by dept.deptno;
–查询全公司的平均工资、最高工资、最低工资和总奖金数。
select AVG(sal),max(sal),min(sal),sum(comm) from emp,dept where emp.deptno=dept.deptno;
–二、分组查询
–编写分组查询语句,理解分组查询的意义,实现分组查询的应用
select deptno,max(empno),sum(sal) /*用了group by后select 中只能出现聚合函数或group by的字段*/ from emp group by deptno order by deptno;
–应用为按部门号分组查询最大的员工号和奖金总和
–三、增删改语句
–添加数据(Two ways)
insert into emp values(1111,'text','text',null,'01-01-01','110',null,null); insert into emp(empno,job,ename,sal) values (1111,'Teacher','text','110');
–删除数据(注意外键)
delete from emp where empno=1111; delete from emp where deptno=1111;
–修改数据
update emp set sal=110 where empno=1111; update emp set (sal=110 comm=1110) where empno=1111;
update emp set deptno=10 where deptno=11;
本站由以下主机服务商提供服务支持:
0条评论