表结构
– 部门表
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