假定有一个数据库“教师.mdb”,其中一个关系的关系模式为:
Teachers(教师号,姓名,性别,年龄,参加工作年月,党员,应发工资,扣除工资)
请写出下列SQL命令:
(1)用INSERT命令插入一条新的记录:
300008 杨梦 女 59 66/04/22 YES 1660 210
(2)用DELETE命令删除年龄少于36且为女性的记录
(3)对表中工龄超过25年的职工加20%工资
(4)查询教师的教师号、姓名和实发工资
(5)查询教师的人数和平均工资
(6)查询1990年以前参加工作的所有教师的教师号、姓名和实发工资
(7)查询男女职工的最低工资、最高工资和平均工资,这里的工资是指实发工资
(8)查询所有党员的教师号和姓名,并且按年龄从大到小排列
答案:
(1) INSERT INTO Teachers(教师号,姓名,性别,年龄,参加工作年月,党员,应发工资,扣除工资)
VALUES(300008, '杨梦', '女', 59, 66/04/22, 'YES', 1660, 210)
(2)DELETE FROM Teachers WHERE 年龄 < 36 AND 性别 = '女'
(3)UPDATE Teachers SET 应发工资 = 应发工资*1.2 WHERE (YEAR(NOW()) - YEAR(参加工作年月)) > 25 --不同系统可能年份相减不一样
(4) SELECT 教师号,姓名, (应发工资 - 扣除工资) AS 实发工资 FROM Teachers ORDER BY 教师号 ASC
(5) SELECT COUNT(*) AS 教师人数, AVG(应发工资 - 扣除工资) FROM Teachers GROUP BY 教师号
(6) SELECT 教师号, 姓名, (应发工资 - 扣除工资) AS 实发工资 FROM Teachers 参加工作年月 < DATE(1990-01-01)
(7) SELECT MIN(应发工资 - 扣除工资) AS 最低工资, MAX(应发工资 - 扣除工资) AS 最高工资, AVG(应发工资 - 扣除工资)
FROM TEACHERS GROUP BY 性别
(8) SELECT 教师号,姓名 FROM Teachers WHERE 党员 = 'YES' ORDER BY AGE DESC