ORACLE 05 基本查询

来源:互联网 发布:开展网络思想政治教育 编辑:程序博客网 时间:2024/06/05 14:28

一、实验目的
1、掌握SELECT语句的基础语法
2、掌握常用的函数的使用
3、了解格式化查询结果的常用命令
二、实验内容
使用scott方案下中emp表和dept表,完成以下操作:
(1)查询部门编号是20的员工信息。
(2)查询工作为CLERK员工的工号、员工名和部门号。
(3)查询奖金COMM高于SAL的员工信息。
(4)查询奖金高于工资都20%的员工信息。
(5)查询部门编号是10并且工作为MANAGER的员工和部门编号为20 并且工作为CLERK的员工的信息。
(6)查询工作不是MANAGER和CLERK,并且工资大于或等于2000的员工信息。
(7)查询有奖金的员工信息。
(8)查询所有员工的人数和他们的平均工资。
(9)查询没有奖金或奖金低于100的员工信息。
(10)查询最近两年入职的员工信息。
(11)查询工龄大于或等于10年的员工信息。
(12)查询员工信息,要求以首字母大写的方式显示所有员工姓名。
(13)查询员工名正好为6个字母的员工信息。
(14)查询员工名字中不包括字母S的员工。
(15)查询员工姓名的第二个字母为M的员工信息。
(16)查询所有员工姓名的前三个字符。
(17)查询所有员工的姓名,如果包含字母s则用S代替。
(18)查询员工的姓名和入职日期,并按入职日期从先到后进行排序。、
(19)显示所有员工的姓名、工作、工资、按工作降序排序,若工作相同则按工资升序排序。
(20)显示所有员工的姓名、入职年份和月份,按入职日期所在的月份排序,若月份相同则按入职的年份排序。
(21)查询每个部门的员工数量、平均工资和平均工作年限。
(22)查询每个部门的人数及平均工资。
(23)查询各种工作的最低工资,并输出最低工资低于3000的工作名称。
(24)查询各个部门中不同工种的最高工资。
(25)统计各个工种的员工人数与平均工资。
三、实验环境
虚拟机下的windows,ORACLE 10g

四、实验步骤
使用scott方案下中emp表和dept表,完成以下操作:
(1) 查询部门编号是20的员工信息。
这里写图片描述
(2) 查询工作为CLERK员工的工号、员工名和部门号。
这里写图片描述
(3) 查询奖金COMM高于SAL的员工信息。
这里写图片描述
(4) 查询奖金高于工资都20%的员工信息。
这里写图片描述
(5) 查询部门编号是10并且工作为MANAGER的员工和部门编号为20 并且工作为CLERK的员工的信息。
这里写图片描述
(6) 查询工作不是MANAGER和CLERK,并且工资大于或等于2000的员工信息。
这里写图片描述
(7) 查询有奖金的员工信息。
这里写图片描述
(8) 查询所有员工的人数和他们的平均工资。
这里写图片描述
(9) 查询没有奖金或奖金低于100的员工信息。
这里写图片描述
(10) 查询最近两年入职的员工信息。
这里写图片描述
(11) 查询工龄大于或等于10年的员工信息。
这里写图片描述
(12) 查询员工信息,要求以首字母大写的方式显示所有员工姓名。
这里写图片描述
(13)查询员工名正好为6个字母的员工信息。
(14)查询员工名字中不包括字母S的员工。
(15)查询员工姓名的第二个字母为M的员工信息。
(16)查询所有员工姓名的前三个字符。
(17)查询所有员工的姓名,如果包含字母s则用S代替。
(18)查询员工的姓名和入职日期,并按入职日期从先到后进行排序。、
(19)显示所有员工的姓名、工作、工资、按工作降序排序,若工作相同则按工资升序排序。
(20)显示所有员工的姓名、入职年份和月份,按入职日期所在的月份排序,若月份相同则按入职的年份排序。
(21)查询每个部门的员工数量、平均工资和平均工作年限。
(22)查询每个部门的人数及平均工资。
(23)查询各种工作的最低工资,并输出最低工资低于3000的工作名称。
(24)查询各个部门中不同工种的最高工资。
(25)统计各个工种的员工人数与平均工资。

五、总结
(1) select * from scott.emp
where deptno=20;
(2) select empno,ename,deptno from scott.emp
where job=’CLERK’;
(3)> select * from scott.emp
where COMM>SAL;
(4) select * from scott.emp
where comm > SAL*0.2;
(5)select * from scott.emp
where deptno=10 and job=’MANAGER’ or (deptno=20 and job=’CLERK’);
(6) select * from scott.emp
where not(job=’MANAGER’ OR job=’CLERK’) AND sal>=2000;
(7)select * from scott.emp
where comm>0;
(8) select count(*) as 总人数,avg(sal) as 平均工资
from scott.emp;
(9) select * from scott.emp
where comm is null or comm<100;
(10) select * from scott.emp
where hiredate between ‘1-1月-2015’ and ‘1-1月-2017’;
(11) select * from scott.emp
where months_between(sysdate,hiredate)/12 >= 10;
(12)SQL> select lower(ename),initcap(ename)
2 from scott.emp;

原创粉丝点击