SQL练习题&答案 Part_1

表结构

– 部门表
CREATE TABLE dept (
id INT PRIMARY KEY PRIMARY KEY, – 部门id
dname VARCHAR(50), – 部门名称
loc VARCHAR(50) – 部门位置
);
– 添加4个部门
INSERT INTO dept(id,dname,loc) VALUES
(10,‘教研部’,‘北京’),
(20,‘学工部’,‘上海’),
(30,‘销售部’,‘广州’),
(40,‘财务部’,‘深圳’);

– 职务表,职务名称,职务描述
CREATE TABLE job (
id INT PRIMARY KEY,
jname VARCHAR(20),
description VARCHAR(50)
);
– 添加4个职务
INSERT INTO job (id, jname, description) VALUES
(1, ‘董事长’, ‘管理整个公司,接单’),
(2, ‘经理’, ‘管理部门员工’),
(3, ‘销售员’, ‘向客人推销产品’),
(4, ‘文员’, ‘使用办公软件’);

题目

– 1.计算员工的日薪(按30天),保留二位小数
– 2.计算出员工的年薪,并且以年薪排序 降序
– 3.找出奖金少于5000或者没有获得奖金的员工的信息
– 4.返回员工职务名称及其从事此职务的最低工资
– 5.返回工龄超过10年,且2月份入职的员工信息 year month
– 6.返回与 林冲 同一年入职的员工
– 7.返回每个员工的名称及其上级领导的名称
– 8.返回工资为二等级(工资等级表)的职员名字(员工表)、部门名称(部门表)
– 9.涨工资:董事长2000 经理1500 其他800

答案

-- 1.计算员工的日薪(按30天),保留二位小数
SELECT TRUNCATE(salary/30,2) FROM emp;

-- 2.计算出员工的年薪,并且以年薪排序 降序
SELECT *  FROM emp;
SELECT salary*12 + IFNULL(bonus,0) AS 年薪 FROM emp ORDER BY 年薪 DESC;

-- 3.找出奖金少于5000或者没有获得奖金的员工的信息
SELECT * FROM emp WHERE bonus<5000 OR bonus IS 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值