菁英科技(卓目鸟学苑)- 专注软件测试菁英教育

标题: python-张荣亮-2021.01.20 [打印本页]

作者: 张荣亮    时间: 2021-1-20 21:24
标题: python-张荣亮-2021.01.20
今天刘老师讲了很多内容,晚上做了大量的练习,总结的题型如下:
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;

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






欢迎光临 菁英科技(卓目鸟学苑)- 专注软件测试菁英教育 (http://www.zmnxy.com/) Powered by Discuz! X3.4