帮忙看一下我笔试的这两句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.按部门名称、人员性别分组统计人员数量。(第一道题网上参考答案如下,第二三题没答案)
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
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’)
DELETE FROM PERSON WHERE SEX=’女’ AND WORKED_YEARS<2 AND PERSON.ID IN ( SELECT ID FROM DEPART WHERE DEPT_TYPE=’1’)
-----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!
[解决办法]