首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

帮忙看一下小弟我笔试的这两句sql语句对不对?多谢

2012-04-25 
帮忙看一下我笔试的这两句sql语句对不对?谢谢已知两张表:人员表(PERSON)和部门表(DEPART),表结构如下: (10

帮忙看一下我笔试的这两句sql语句对不对?谢谢
已知两张表:人员表(PERSON)和部门表(DEPART),表结构如下: (10分)
人员表——PERSON
序号字段名中文说明类型可空备注
1.IDID号INTEGERNPK
2.DEPT_ID部门ID号INTEGERNFK,与部门表ID字段对应。
3.NAME姓名VARCHAR(20)N
4.SEX性别CHAR(2)N默认‘男’,值只允许‘男’和‘女’
5.BIRTHDAY出生日期Date不能大于当前日期
6.WORKED_YEARS进入公司年数INTEGERN默认0
7.SALARY工资DECIMAL(16, 4)N默认1000.0

部门表——DEPART
序号字段名中文说明类型可空备注
1.IDID号INTEGERNPK
2.DEPT_NAME部门名称VARCHAR(20)N
3.DEPT_TYPE部门性质CHAR(1)N0-一线部门
1-非一线部门
根据上述条件,解答下列问题:
A.按部门名称、人员性别分组统计人员数量。(第一道题网上参考答案如下,第二三题没答案)

SQL code
SELECT A.DEPT_NAME,B.SEX,COUNT(*) FROM DEPART A, PERSON B WHERE A.ID = B.DEPT_ID GROUP BY A.DEPT_NAME,B.SEX

B.将进入公司年数在4年(含)以上的一线部门的女员工工资上调10%。(我下面的第二个ID不用改成DEPART.ID吧)
SQL code
Update PERSON SET SALARY=SALARY*1.1 WHERE SEX=’女’ AND WORKED_YEARS>=4 AND PERSON.ID IN (SELECT ID FROM DEPART WHERE DEPT_TYPE=’0’)

C.将性别为女,且进入公司年数少于2年的非一线部门人员记录删除。(我下面的第二个ID不用改成DEPART.ID吧)
SQL code
DELETE FROM PERSON WHERE SEX=’女’ AND WORKED_YEARS<2 AND PERSON.ID IN ( SELECT ID FROM DEPART WHERE DEPT_TYPE=’1’)



[解决办法]
看不出问题,b和c的 PERSON.ID 可以简化成 ID.
[解决办法]
探讨
已知两张表:人员表(PERSON)和部门表(DEPART),表结构如下: (10分)
人员表——PERSON
序号字段名中文说明类型可空备注
1.IDID号INTEGERNPK
2.DEPT_ID部门ID号INTEGERNFK,与部门表ID字段对应。
3.NAME姓名VARCHAR(20)N
4.SEX性别CHAR(2)N默认‘男……

[解决办法]
没什么问题啊
[解决办法]
no problem
[解决办法]
以上可以打100分

SQL code
-----BUpdate a SET SALARY=SALARY*1.1 from PERSON a inner join DEPART b on a.DEPT_ID=b.IDWHERE SEX=’女’ AND WORKED_YEARS>=4 AND  b.DEPT_TYPE ='0'----Cdelete a from PERSON a inner join DEPART b on a.DEPT_ID=b.IDWHERE SEX=’女’ AND WORKED_YEARS<2 AND  b.DEPT_TYPE ='1'
[解决办法]
Good Boy!
[解决办法]
探讨
Good Boy!

热点排行