Oracle经典题库大全--必看

本文提供了一系列实用的SQL查询案例,包括筛选特定条件的数据、计算员工在公司的服务时长、按字母顺序排序等操作,有助于提升数据库管理和数据分析能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

-- 查询工资大于12000的员工姓名和工资
select first_name || last_name,salary from employees where salary > 12000;
-- 2. 查询员工号为176的员工的姓名和部门号
select first_name || last_name ,department_id from employees where employees.employee_id = 176;


-- 3. 选择工资不在5000到12000的员工的姓名和工资
select first_name || last_name,salary from employees e where e.salary >5000 and e.salary<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 to_date('1998-02-01','yy-mm-dd') and to_date('1998-05-01','yy-mm-dd');

-- 5. 选择在20或50号部门工作的员工姓名和部门号
select first_name || last_name,department_id from employees where employees.department_id=20 or employees.department_id = 50;

-- 6. 选择在1994年雇用的员工的姓名和雇用时间
select first_name || last_name,(sysdate - hire_date),hire_date from employees where hire_date = to_date('2003','yy');


-- 7. 选择公司中没有管理者的员工姓名及job_id
select first_name || last_name,job_id from employees where manager_id is null;

-- 8. 选择公司中有奖金的员工姓名,工资和奖金级别

select t.first_name ,t.last_name,t.sal,j.job_title from 
(select salary*nvl(commission_pct,0),first_name,last_name,salary sal,job_id from employees e) t
join jobs j on t.sal between j.min_salary and j.max_salary;

-- 9. 选择员工姓名的第三个字母是a的员工姓名
select first_name || last_name from employees where first_name like '__a%';



-- 10. 选择姓名中有字母a和e的员工姓名
select first_name || last_name from employees where first_name || last_name like '%a%' and first_name || last_name like '%e%' ;

-- 11. 显示系统时间
   select sysdate from dual;

-- 12. 查询员工号,姓名,工资,以及工资提高百分之20%后的结果(new salary)
select employee_id,first_name || last_name,salary,salary*1.2 newsalary from employees;

-- 13. 将员工的姓名按首字母排序,并写出姓名的长度(length)
select first_name || last_name,length(first_name || last_name) from employees order by first_name;

-- 14. 查询各员工的姓名,并显示出各员工在公司工作的月份数
select first_name || last_name,(sysdate - hire_date)/30 工作月数 from employees;

-- 15. 查询员工的姓名,以及在公司工作的月份数(worked_month),并按月份数降序排列
select first_name || last_name,(sysdate - hire_date)/30 工作月数 from employees order by 工作月数 desc;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值