ORACLE 05 基本查询

一、实验目的
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的员工信息。
ORACLE 05 基本查询_第1张图片
(2) 查询工作为CLERK员工的工号、员工名和部门号。
ORACLE 05 基本查询_第2张图片
(3) 查询奖金COMM高于SAL的员工信息。
ORACLE 05 基本查询_第3张图片
(4) 查询奖金高于工资都20%的员工信息。
ORACLE 05 基本查询_第4张图片
(5) 查询部门编号是10并且工作为MANAGER的员工和部门编号为20 并且工作为CLERK的员工的信息。
ORACLE 05 基本查询_第5张图片
(6) 查询工作不是MANAGER和CLERK,并且工资大于或等于2000的员工信息。
ORACLE 05 基本查询_第6张图片
(7) 查询有奖金的员工信息。
ORACLE 05 基本查询_第7张图片
(8) 查询所有员工的人数和他们的平均工资。
ORACLE 05 基本查询_第8张图片
(9) 查询没有奖金或奖金低于100的员工信息。
ORACLE 05 基本查询_第9张图片
(10) 查询最近两年入职的员工信息。
这里写图片描述
(11) 查询工龄大于或等于10年的员工信息。
ORACLE 05 基本查询_第10张图片
(12) 查询员工信息,要求以首字母大写的方式显示所有员工姓名。
ORACLE 05 基本查询_第11张图片
(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;

你可能感兴趣的:(数据库)