1切换到 oracle的 hr用户下面练习
1. 查询工资大于12000的员工姓名和工资
select first_name,last_name,salary from employees where salary>12000;
2. 查询员工号为176的员工的姓名和部门号
select first_name,last_name,department_id from employees where employee_id='176';
3. 选择工资不在5000到12000的员工的姓名和工资
select first_name,last_name,salary from employees where salary not between 5000 and 12000;
4. 选择雇用时间在1998-02-01到1998-05-01之间的员工姓名,job_id和雇用时间
select first_name,last_name,job_id,hire_date from employees where hire_date between
'01-2月-1998'and '01-5月-1998';
5. 选择在20或50号部门工作的员工姓名和部门号
select first_name,last_name,department_id from employees where department_id in('20','50');
6. 选择在1994年雇用的员工的姓名和雇用时间
select first_name,last_name,hire_date from employees where hire_date like '%94';
7. 选择公司中没有管理者的员工姓名及job_id
select first_name,last_name,job_id from employees where manager_id is null;
8. 选择公司中有奖金的员工姓名,工资和奖金级别
select first_name,last_name,salary,commission_pct from employees where commission_pct is not null;
9. 选择员工姓名的第三个字母是a的员工姓名
select first_name,last_name from employees where first_name like'__a%';
select first_name,last_name from employees where last_name like'__a%';
10. 选择姓名中有字母a和e的员工姓名
11. 显示系统时间
select sysdate from dual;
12. 查询员工号,姓名,工资,以及工资提高百分之20%后的结果(new salary)
select employee_id,first_name,last_name,salary,salary*(1+0.2) as "new salary" from employees;
13. 将员工的姓名按首字母排序,并写出姓名的长度(length)
select first_name,last_name,months_between(sysdate,hire_date) as "月份" from employees;
14. 查询各员工的姓名,并显示出各员工在公司工作的月份数
select first_name,last_name,months_between(sysdate,hire_date) as "月份" from employees;
15. 查询员工的姓名,以及在公司工作的月份数(worked_month),并按月份数降序排列
select first_name,last_name,months_between(sysdate,hire_date) as "月份" from employees order by months_between(sysdate,hire_date) desc;