我的账户
啄木鸟学院

专注软件测试菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

python-张荣亮-2021.01.20

[复制链接]
张荣亮 发表于 2021-1-20 21:24:23 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
今天刘老师讲了很多内容,晚上做了大量的练习,总结的题型如下:
1、创建如上的表,并把相应地数据插入到对应的表中
CREATE DATABASE xtgl;
#部门信息表
CREATE TABLE bmxxb(
部门ID TINYINT(3) AUTO_INCREMENT NOT NULL PRIMARY KEY,
部门名称 VARCHAR(20) NOT NULL
);
INSERT INTO bmxxb VALUES(1,'Develop'),(2,'Test');
#员工基本信息表
CREATE TABLE ygxxb(
工号 TINYINT(4) ZEROFILL NOT NULL,
姓名 VARCHAR(20),
部门ID TINYINT(3),
职位 VARCHAR(20),
薪水 INT(10),
入职时间 VARCHAR(20),
FOREIGN KEY(部门ID) REFERENCES bmxxb(部门ID)
);
INSERT INTO ygxxb VALUES
(1,'zhangsan',1,'DM',10000,'2015-10-01'),
(2,'wangwu',  2,'TM',9000, '2016-03-30'),
(3,'lisi',    1,'DE',8000, '2016-01-01'),
(4,'liumazi', 2,'TE',7000, '2016-05-04');
INSERT INTO ygxxb(工号,姓名,薪水,入职时间) VALUES(5,'zhaoerda',7500, '2016-10-13');
#薪水等级表
CREATE TABLE xsdjb(
等级 TINYINT(3),
MAX INT(10),
MIN INT(10)
);
INSERT INTO xsdjb VALUES
(1,6000,4000),
(2,8000,6001),
(3,10000,8001),
(4,15000,10001);
2、查询工号为0002人的基本信息
SELECT*FROM ygxxb WHERE 工号=0002;
3、只查询工号为0002人的姓名
SELECT 姓名 FROM ygxxb WHERE 工号=0002;
4、查询姓名以“l”打头的所有人的信息
SELECT * FROM ygxxb WHERE 姓名 LIKE'l%';
5、查询部门为空的人基本信息
SELECT * FROM ygxxb WHERE 部门ID IS NULL;
6、查询工资大于8000元的员工基本信息
SELECT * FROM ygxxb WHERE 薪水>8000;
7、查询姓名不已“l”打头的人的基本信息
SELECT * FROM ygxxb WHERE 姓名 NOT LIKE'l%';
8、查询部门号是12的所有员工信息
SELECT * FROM ygxxb WHERE 部门ID=1 OR 部门ID=2;
9、员工总数
SELECT COUNT(姓名)FROM ygxxb;
10、员工最高工资的人
SELECT 姓名 FROM ygxxb ORDER BY 薪水 DESC LIMIT 1;
11、员工最低工资的人
SELECT 姓名 FROM ygxxb ORDER BY 薪水 LIMIT 1;
12、所有员工的平均工资
SELECT AVG(薪水) FROM ygxxb;
13、部门1员工的平均工资
SELECT AVG(薪水) FROM ygxxb WHERE 部门ID=1;
14、员工工资从低到高排序
SELECT 薪水 FROM ygxxb ORDER BY 薪水;
15查询所有员工的姓名,工资等级       
SELECT 姓名,等级 FROM ygxxb LEFT JOIN xsdjb ON 薪水 BETWEEN MIN AND MAX;
16、查询所有部门为test员工的姓名,工资等级
SELECT ygxxb.`姓名`,薪水 FROM bmxxb,ygxxb LEFT JOIN xsdjb ON 薪水 BETWEEN MIN AND
MAX WHERE bmxxb.`部门ID`=ygxxb.`部门ID`AND bmxxb.`部门名称`='test';
17、查询部门编号为1的所有员工的工资等级
SELECT ygxxb.`姓名`,等级 FROM bmxxb,ygxxb LEFT JOIN xsdjb ON 薪水 BETWEEN MIN AND
MAX WHERE bmxxb.`部门ID`=ygxxb.`部门ID` AND bmxxb.`部门ID`=1;
18查询工资在8500-9500的员工所在部门名字
SELECT ygxxb.`姓名`,bmxxb.`部门名称` FROM bmxxb,ygxxb WHERE bmxxb.`部门ID`=ygxxb.`部门ID` AND ygxxb.`薪水` BETWEEN 8500 AND 9500;

做完这些题让我对数据库加强了理解和练习!

回复

使用道具 举报

关注0

粉丝0

帖子20

发布主题
大家都在学
课堂讨论
一周热帖排行最近7x24小时热帖
关注我们
专注软件测试菁英教育

客服电话:17792550360

客服时间:9:00-21:00

卓目鸟学苑 - 专注软件测试菁英教育!( 陕ICP备2025058934号-2 )

版权所有 © 西安菁英教育科技有限公司 2023-2026