今天劉老師講了很多內容,晚上做了大量的練習,總結的題型如下:
1、創(chuàng)建如上的表,并把相應地數(shù)據(jù)插入到對應的表中 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、員工總數(shù) 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;
做完這些題讓我對數(shù)據(jù)庫加強了理解和練習!
|