Oracle查询练习01
来源:互联网 发布:品牌床垫推荐 知乎 编辑:程序博客网 时间:2024/06/04 18:09
1 . 查询工资大于12000的员工姓名和工资
select last_name, salaryfrom employeeswhere salary > 12000
2 . 查询员工号为176的员工的姓名和部门号
select last_name, department_idfrom employeeswhere employee_id = 176
3 . 选择工资不在5000到12000的员工的姓名和工资
select last_name, salaryfrom employeeswhere salary not between 5000 and 12000
4 . 选择雇用时间在1998-02-01到1998-05-01之间的员工姓名,job_id和雇用时间
select last_name, job_id, hire_datefrom employeeswhere hire_date between '1-2月 -1998' and '1-5月 -1998'
5 . 选择在20或50号部门工作的员工姓名和部门号
select last_name, department_idfrom employeeswhere department_id in (20, 50)
6 . 选择在1994年雇用的员工的姓名和雇用时间
select last_name, hire_datefrom employeeswhere hire_date like '% -94'
7 . 选择公司中没有管理者的员工姓名及job_id
select last_name, job_idfrom employeeswhere manager_id is null
8 . 选择公司中有奖金的员工姓名,工资和奖金级别
select last_name, salary, commission_pctfrom employeeswhere commission_pct is not null
9 . 选择员工姓名的第三个字母是a的员工姓名
select last_namefrom employeeswhere last_name like '__a%'
10 . 选择姓名中有字母a和e的员工姓名
select last_namefrom employeeswhere last_name like '%a%' and last_name like '%e%'
11 . 显示系统时间
select to_char(sysdate, 'yyyy-mm-dd hh:mi:ss') from dual;
12 . 查询员工号,姓名,工资,以及工资提高百分之20%后的结果(new salary)
select employee_id, last_name, salary, salary * 1.2 "new salary"from employees;
13 . 将员工的姓名按首字母排序,并写出姓名的长度(length)
select last_name, length(last_name)from employeesorder by last_name
14 . 查询各员工的姓名,并显示出各员工在公司工作的月份数(worked_month)。
select last_name, months_between(sysdate, hire_date) worked_monthfrom employees
15 . 查询员工的姓名,以及在公司工作的月份数(worked_month),并按月份数降序排列
select last_name, months_between(sysdate, hire_date) worked_monthfrom employeesorder by worked_month desc
16 . 做一个查询,产生下面的结果
<last_name> earns <salary> monthly but wants <salary*3>Dream SalaryKing earns $24000 monthly but wants $72000select last_name || ' earns ' || salary || ' monthly but wants ' || salary * 3from employees
17 . 使用decode函数,按照下面的条件:
job grade
AD_PRES A
ST_MAN B
IT_PROG C
SA_REP D
ST_CLERK E
Others F
产生下面的结果
Last_name Job_id Grade
king AD_PRES A
select last_name, job_id, decode(job_id, 'AD_PRES', 'A', 'ST_MAN', 'B', 'IT_PROG', 'C', 'SA_REP', 'D', 'ST_CLERK', 'E', 'F') GRADEfrom employees
18 . 将第7题的查询用case函数再写一遍。
select last_name, job_id, case job_id when 'AD_PRES' then 'A' when 'ST_MAN' then 'B' when 'IT_PROG' then 'C' when 'SA_REP' then 'D' when 'ST_CLERK' then 'E' else 'F' end from employees
19 . 查询公司员工工资的最大值,最小值,平均值,总和
Select max(salary), min(salary), avg(salary), sum(salary)From employees
20 . 查询各job_id的员工工资的最大值,最小值,平均值,总和
Select job_id, max(salary), min(salary), avg(salary), sum(salary)From employeesGroup by job_id
21 . 选择具有各个job_id的员工人数
Select job_id, count(employee_id)From employeesGroup by job_id;
22 . 查询员工最高工资和最低工资的差距(DIFFERENCE)
Select max(salary) – min(salary) differenceFrom employees
23 . 查询各个管理者手下员工的最低工资,其中最低工资不能低于6000,没有管理者的员工不计算在内
Select manager_id, min(salary)From employeesWhere manager_id is not nullGroup by manager_idHaving min(salary) >= 6000
24 . 查询所有部门的名字,location_id,员工数量和工资平均值
Select department_name, location_id, count(employee_id), avg(salary)From employees e join departments dOn e.department_id = d.department_idGroup by department_name, location_id
- Oracle查询练习01
- oracle查询练习
- oracle查询练习
- ORACLE 查询练习
- ORACLE 查询练习
- Oracle数据库查询练习
- Oracle查询练习1
- oracle查询练习2
- oracle--查询练习
- Oracle查询练习02
- Oracle查询基础练习
- oracle 练习 之关联查询 练习
- Oracle查询练习及答案
- ORACLE SQL:经典查询练习
- oracle强化练习之子查询
- oracle之高级查询练习
- Oracle的综合查询练习
- Oracle数据库查询语句练习
- Mysql 主从备份完整版
- 整理一个LOG工具类
- 实现html页面的参数传递
- pull解析
- 【TFS权限管理】配置 Team Foundation Server 团队权限最佳实践
- Oracle查询练习01
- HDU 1231 最大连续子序列和
- spark-2.2.0安装和部署——Spark集群学习日记
- 判断质数-javascript函数
- Redis基础之主从复制与sentinel实现
- 优化版: 输入姓名,单击显示(Android studio)
- 10进制转换为n进制
- 移动端h5开发基础
- ScrolView的Autolayout约束