1-数据准备:
CREATE TABLE 员工信息表 (员工编号 VARCHAR(10) PRIMARY KEY,姓名 VARCHAR(20),学历 VARCHAR(20),出生日期 DATE,性别 INT,工作年限 INT,地址 VARCHAR(100),电话号码 VARCHAR(20),员工部门号 INT
);
INSERT INTO 员工信息表 (员工编号, 姓名, 学历, 出生日期, 性别, 工作年限, 地址, 电话号码, 员工部门号) VALUES
('000001', '王林', '大专', '1966-01-23', 1, 8, '中山路 32-1-508', '83355668', 2),
('010008', '伍容华', '本科', '1976-03-28', 1, 3, '北京东路 100-2', '83321321', 1),
('020010', '王向容', '硕士', '1982-12-09', 1, 2, '四牌楼 10-0-108', '83792361', 1),
('020018', '李丽', '大专', '1960-07-30', 0, 6, '中山东路 102-2', '83413301', 1),
('102201', '刘明', '本科', '1972-10-18', 1, 3, '虎踞路 100-2', '83606608', 5),
('102208', '朱俊', '硕士', '1965-09-28', 1, 2, '牌楼巷 5-3-106', '84708817', 5),
('108991', '钟敏', '硕士', '1979-08-10', 0, 4, '中山路 10-3-105', '83346722', 3),
('111006', '张石兵', '本科', '1974-10-01', 1, 1, '解放路 34-1-203', '84563418', 5),
('210678', '林涛', '大专', '1977-04-02', 1, 2,'中山北路 24-35', '83467336', 3),
('302566', '李玉珉', '本科', '1968-09-20',1, 3, '热和路 209-3', '58765991', 4),
('308759', '叶凡', '本科', '1978-11-18', 1, 2,'北京西路 3-7-52', '83308901', 4),
('504209', '陈林琳', '大专', '1969-09-03', 0, 5, '汉中路 120-4-12', '84468158', 4);CREATE TABLE 员工薪水情况表 (员工编号 VARCHAR(10) PRIMARY KEY,收入 DECIMAL(10,2),支出 DECIMAL(10,2)
);
INSERT INTO 员工薪水情况表 (员工编号, 收入, 支出) VALUES
('0000001', 2100.8, 123.09),
('100008', 1582.62, 123.09),
('020010', 2860.00, 88.03),
('020018', 2347.68, 180.00),
('102201', 2569.88, 185.65),
('102208', 1980.00, 100.00),
('108991', 3259.98, 281.52),
('111006', 1987.01, 79.58),
('210678', 2240.00, 121.00),
('302566', 2980.7, 210.20),
('308759', 2531.98, 199.08),
('504209', 2066.15, 108.00);CREATE TABLE 部门信息表 (部门编号 INT PRIMARY KEY,部门名称 VARCHAR(50),备注 TEXT
);
INSERT INTO 部门信息表 (部门编号, 部门名称, 备注) VALUES
(1, '财务部', NULL),
(2, '人力资源部', NULL),
(3, '经理办公室', NULL),
(4, '研发部', NULL),
(5, '市场部', NULL);
2-题目:
创建 YGGL 数据库并完成以下任务。
1. SELECT 语句的基本使用
① 查询 Employees 表的员工部门号和性别,要求消除重复行。
② 计算每个雇员的实际收入(实际收入=收入-支出)。
③ 查询 Employees 表中员工的姓名和性别,要求性别值为 1 时显示为“男”,为 0 时显示为“女”。
④ 查询每个雇员的地址和电话号码,显示的列标题为 adress、telephone。
⑤ 计算 Salary 表中员工月收入的平均数。
⑥ 计算所有员工的总支出。
⑦ 显示女雇员的地址和电话号码。
⑧ 计算员工总数。
⑨ 显示最高收入和最低收入的员工的员工编号。
select * from 员工薪水情况表 where 收入=(select max(收入) from 员工薪水情况表);
2. 条件查询
① 显示月收入高于 2000 元的员工编号。
② 查询 1970 年以后出生的员工的姓名和地址。
③ 显示工作年限 3 年以上(含 3 年)、学历在本科以上(含本科)的男性员工的信息。
④ 查找员工编号中倒数第 2 个数字为 0 的姓名、地址和学历。
⑤ 查询月收入在 2000 元 ~ 3000 元的员工编号。
3. 多表查询
① 查询“王林”的基本情况和所工作的部门名称。
② 查询财务部、研发部、市场部的员工信息。
③ 查询每个雇员的基本情况和薪水情况。
④ 查询研发部在 1970 年以前出生的员工姓名和薪水情况。
⑤ 查询员工的姓名、住址和收入水平,要求 2000 元以下显示为“低收入”,2000 元 ~ 3000 元显示为“中等收入”,3000 元以上时显示为“高收入”。