数据库实例练习
现在入职到一家 IT企业做 HR,管理公司的人事档案数据。
1.公司要求,员工档案要包括以下这些信息:编号,姓名,工资,生日。
2.创建数据表保存数据。
| 姓名 | 工资 | 生日 |
|---|---|---|
| 马云 | 2025.3 | 1973-8-12 |
| 李彦宏 | 3209.49 | 1986-7-14 |
| 马化腾 | 1436.12 | 1954-8-10 |
3.表格中还需要保存“手机号”,修改一下表格。
sql
ALTER TABLE hr ADD COLUMN phone VARCHAR(11);
4.公司还需要维护“部门”数据,同时记录每个员工是属于哪个部门的。
sql
CREATE TABLE department (
dept_id INT PRIMARY KEY AUTO_INCREMENT,
dept_name VARCHAR(50) NOT NULL UNIQUE
);
ALTER TABLE hr ADD COLUMN dept_id INT,
ADD CONSTRAINT fk_hr_dept FOREIGN KEY (dept_id) REFERENCES department (dept_id);
5.有一位同事辞职了,从系统中删除。他的员工编号是:5
sql
DELETE FROM hr WHERE emp_id = 5;
6.有一位同事涨工资了,涨了200块钱,同时他手机号也改了,新的手机号是:13586705312,这位同事的编号是17,修改一下表格。
sql
UPDATE hr SET salary = salary + 200.00,phone = '13586705312' WHERE emp_id = 17;
7.有同事要补办工牌,把他的全部信息都调取出来,他的编号是:63
sql
SELECT * FROM hr WHERE emp_id = 63;
8.Linda 快过生日了,查一下她生日的具体日期和手机号
sql
SELECT birthday, phone FROM hr WHERE emp_name = 'Linda';
9.公司要调查薪酬情况,查询一下工资在2000到5000之间的员工信息,以及工资在 3000 以上的人数
sql
SELECT * FROM hr WHERE salary BETWEEN 2000.00 AND 5000.00;
SELECT COUNT(*) FROM hr WHERE salary > 3000.00;
10.听说有些同事的工资正好是1000、3000或5000,查查他们是谁
sql
SELECT * FROM hr WHERE salary IN (1000.00, 3000.00, 5000.00);
11.公司开年会,要让名字里有字母o的同事表演节目,查询一下
sql
SELECT * FROM hr WHERE emp_name LIKE '%o%';
12.有些同事的手机号是空的,查询一下是哪些人
sql
SELECT * FROM hr WHERE phone IS NULL;
13.市场部的主管想了解他们部门员工的工资,要按顺序显示,市场部的部门名称是:Sales
sql
SELECT hr.emp_name, hr.salary, department.dept_name
FROM hr JOIN department ON hr.dept_id = department.dept_id
WHERE department.dept_name = 'Sales'
ORDER BY hr.salary;
本文是原创文章,采用 CC BY-NC-SA 4.0 协议,完整转载请注明来自 小满1221
评论
隐私政策
0/500
滚动到此处加载评论...
