- 0
- 0
- 约1.62千字
- 约 3页
- 2018-11-24 发布于河南
- 举报
数据库系统原理难点在百度搜索收集
select 姓名,部门名称 from 部门,职工 where 部门.部门号=职工.部门号and 职务=“工程师”工程师所在的部门的号码和姓名
π姓名,部门(π部门号,姓名(职务=‘工程师’(职工))∞π部门号,部门名称(部门))
2 update 工资级别 set 小时工资率=小时工资率*(1+5%) where 职务=“工程师”
select 职工号,sum(工时) from 施工 group by 职工号 having sum(工时)40
4 select 部门名称,电话号码 from 部门,职工 where 部门.部门号=职工.部门号 and 姓名=“潘小光”
5 select 部门名称,姓名,项目名称 from 职工,部门,工程,施工 where 部门.部门号=职工.部门号 and 施工.项目号=工程.项目号
6 create sql view 酬金 as select 职工号,姓名,项目名称,工时,小时工资率*工时 from 施工,职工,工程,工资级别 where 施工.项目号=工程.项目号 and
职工.职务=工资级别.职务 and 职工.职工号=施工.职工号
EMPT(ENO,ENAME,SALARY,DNO),? 其中属性的含义依次为职工号、姓名、工资和所在部门号,? 关系 DEPT(DNO,DNEMA,MANAGER), 代表部门号、部门名称、部门经理职工号要求用SQL语言和关系代数写出:1. 各部门中工资不低于600元的职工的平均工资2. 查询001号职工所在的部门名称3. 将销售部的那些工资低于600的职工的工资上调10%解:1. SQL语句:SELECT DNO, AVG(SALARY)FROM EMPWHERE SALARY=600GROUP BY DNO关系代数表达式:2.SQL语句:SELECT DNAMEFROM EMP, DEPTWHERE EMP.DNO=DEPT.DNOAND EMP.DNO=’001’关系代数表达式:3.SQL语句:? UPDATE EMPSET SALARY=SALARY*1.1WHERE ENO IN? (SELECT ENO?FROM EMP, DEPTWHERE EMP.DNO=DEPT.DNOAND DNAME=’销售部’AND SALARY600)关系代数表达式:四 学生数据库 STUDENT(SNO,SNAME,SSEX,SAGE,SDEPT)? 课程数据库 COURSE(CNO,CNAME,CPNO,CCREDIT)? 选课数据库 SC(SNO,CNO,GRADE)? 用SQL和关系表达式写出:1. 建立一个学生表STUDENT,它由学号SNO,姓名SNAME,性别SSEX,年龄SAGE,所在系SDEPT五个属性组成,其学号不能为空,其值唯一2. 查考试成绩不及格的学生学号3. 将学生95001的年龄改为22岁4. 计算1号课程的学生平均成绩解:1.SQL语句:CREATETABLE STUDENT(SNO CHAR(5) NOT NULL UNIQUE?SNAME CHAR(20)?SSEX CHAR(1)?SAGE INT?SDEPT CHAR(15));关系代数表达式:2.SQL语句:SELECT DISTINCT SNOFROM COURSE,SCWHERE COURSE.CNO=SC.CNOAND SC.GRADE60关系代数表达式:3.SQL语句:UPDATE STUDENTSET SAGE=22WHERE SNO=’95001’关系代数表达式:4.SQL语句:SELECT AVG(GRADE)FROM SCWHERE CNO=’1’
原创力文档

文档评论(0)