【无标题】

Sql 练习

题目:准备的数据以及题目

-- 1.查询所有员工信息。查询员工编号,员工姓名,工资,职务名称,职务描述
select e.id , e.ename ,e.salary , j.jname , j.description
from emp e, job j
where e.job_id = j.id;
-- 2.查询员工编号,员工姓名,工资,职务名称,职务描述,部门名称,部门位置
select e.id , e.ename ,e.salary , j.jname , j.description,d.dname,d.loc
from emp e, job j,dept d
where e.job_id = j.id and e.dept_id = d.id;
-- 3.查询员工姓名,工资,工资等级
select  e.ename ,e.salary , s.grade
from emp e, salarygrade s
where e.salary between s.losalary and s.hisalary;

-- 4.查询员工姓名,工资,职务名称,职务描述,部门名称,部门位置,工资等级
select  e.ename ,e.salary ,j.jname , j.description,d.dname, d.loc,s.grade
from emp e, salarygrade s,job j,dept d
where e.salary between s.losalary and s.hisalary and e.job_id = j.id and e.dept_id = d.id;
-- 5.查询出部门编号,部门名称,部门位置,部门人数

select d.id '部门编号',
       d.dname '部门名称',
			 d.loc '部门位置', 
			 c.c '部门人数'
from dept d,(select dept_id,count(id) c from emp group by dept_id) c
where d.id=c.dept_id;
-- 6.查询所有员工的姓名及直接上级的姓名,没有领导的员工也需要查询
select e.ename as "员工" ,e2.ename as "领导"
from emp e left join emp e2 
on e.mgr = e2.id;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值