今天刘老师讲了很多内容,晚上做了大量的练习,总结的题型如下:
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、查询部门号是1、2的所有员工信息 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;
做完这些题让我对数据库加强了理解和练习!
|