EMPLOYEE(ESSN,Ename,Sex,Salary,Dnumber),其中ESSN是主键, 存储员工的信息,包括社会保险号、姓名、工资、所属部门号
DEPARTMENT(Dnumber,Dname,MgrSSN) 其中Dnumber是主键,存储部门信息,包括部门编号、名称、经理社会保险号
PROJECT(Pnumber,Pname,Pcity) 其中Pnumber是主键,存储项目的信息,包括项目编号、名称、所在城市
WORKS_ON(Pnumber,ESSN,Wdate,Hours) 其中Pnumber、ESSN、Wdate是主键,存储某员工在某日为某项目工作的时间
请用SQL语句实现下面计算:
(1)求工资高于其所在部门平均工资的职工姓名
(2)求至少在三个不同项目中工作过的职工姓名
(3)建立视图DeptPro(Dnumber,Pnumber,Thours),表示每个部门的所有职工在每个项目中的工作总时数。并利用该视图,求在项目'Middleware'中工作时数最多的部门名称。
你好,首先谢谢你回答我的提问。
请问第(2)问如果考虑同一个职工在不同时期参加同一个项目情况时sql语句怎么写?
第(3) 问创建视图好像有点问题,WORKS_ON表中没有Dnumber这个属性,所以
GROUP BY Dnumber, Pnumber时这个属性是没有的,如果去掉这个Dnumber,则不是题目中所要求的每个部门的所有职工在每个项目中的工作总时数。
你好。
第一个问题:
因为要求返回“至少在三个不同项目中工作过的职工姓名”,所以考虑同一个职工在不同时期参加同一个项目情况时,还需要去掉重复的项目。
SELECT Ename FROM EMPLOYEE
JOIN
(SELECT ESSN, COUNT(Pnumber) AS Pcount FROM
(SELECT DISTINCT ESSN, Pnumber FROM WORKS_ON) --去掉重复的员工—项目记录
GROUP BY ESSN
HAVING COUNT(Pnumber) > 3) A --考虑同一个职工在不同时期参加同一个项目情况
ON ESSN = A.ESSN
第二个问题:
是我修改时疏忽了。
CREATE VIEW DEPTPRO AS
(SELECT C.Dnumber, Pnumber, SUM(Hours) AS Thours FROM WORKS_ON
JOIN EMPLOYEE B ON ESSN=A.ESSN
JOIN DEPARTMENT B ON A.Dnumber=B.Dnumber
GROUP BY B.Dnumber, Pnumber); --每个部门的所有职工在每个项目中的工作总时数
yjvfhpssmarco创建视图的思路是正确的,语法好像有点问题。
刚学数据库,遇到一道关于数据库sql语句的题目,实在不会,请高手帮忙解答...
1. select * from EMPLOYEE where Salary>(select avg(Salary) from EMPLOYEE group by Dnumber)2. select * from EMPLOYEE where ESSN in (select ESSN from WORKS_ON group by Pnumber,ESSN having Count(1)>=3)3. -- 每个部门的所有职工在每个项目中的工作总时数 Create View DeptPro AS...
SQL数据库建库和数据表语句有问题?请高手帮忙解决
针对SQL数据库建库和数据表语句的问题,我们可以按照以下步骤逐一解决:1. 删除已存在的外键约束: ALTER TABLE [dbo].[Elect] DROP CONSTRAINT FK_Elect_Cource; ALTER TABLE [dbo].[Student] DROP CONSTRAINT FK_Student_Depart; ALTER TABLE [dbo].[Teacher] DROP CONSTRAINT FK_Teacher_D...
求一条 oracle数据库统计用的sql语句,如下图所示,请高手帮忙解答。
select investorid,(sumprofits\/(lastday+sumfundout-allProfits))*100% 投资收益率 from (select investorid,sum(profits) sumprofits, --该投资者所有交易日利润总和 sum(fundout) sumfundout, --该投资者所有交易日出金总和 (select quanyi from fund ff where ff.investorid=f.investorid and ...
大学计算机关于数据库的作业,请高手帮忙。
1. SQL 语言中, SELECT 语句的执行结果是 b表 2.数据库是指有组织地,动态地存储在(外存)上的相 互联系的数据的集合 3.关系代数中专门的关系运算包括:选择、投影、联接。4、【 关系】模型的数据结构是一个“二维表空间”组成的集合。5、数据库管理系统中数据操纵语言( DML )所实现的操作一般...
数据库sql语句。解读。
aid 1 2 3 4 B表 bid aid 11 1 12 2 13 3 21 1 select a.aid,b.bidfrom a left join b on a.aid = b.aid返回结果是:aid bid 1 11 1 21 2 12 3 13 4 null 就是以a表为主,将a表中的所有数据取出来,b表中没有匹配的,用null表示。而你...
...下面1~8题谁会?麻烦高手帮忙,小弟感激不尽!谢谢。
1 略 2 略 3 insert into BookInfo (BookId,BookName,Publish,Author) values ('001','这本书是什么书','无知者无畏出版社',‘无名氏')4 Delete from BookInfo where BookName='查无此书'5 Update ReaderInfo set Institute=‘计算机学院' where ReadId=1 6 select * from ReadInfo where ...
《数据库应用》试题,请高手帮忙完成!万分感谢!!!
create schema "sc" authorization xiaozhu \/*定义模式 create table sc(sno char(9),cno char(4),g smallint,primary key(sno,cno),\/* 主码有两个属性构成 foreign key(sno) references s(sno),\/*完整性约束条件,sno为外码,参照表是s foreign key(cno) references c(cno)\/*完整性约束...
数据库的问题,高手帮忙
MSDB数据库解决过程 难点:由于MSDB数据库不能删除,将其文件拷出来,再次附加数据库,但新的附加数据库不能叫MSDB,也就是不能同名,遇到了困难。1:先停止整个数据库,将该数据库的文件msdbdata.mdf和msdblog.ldf拷贝粘贴出来到另一个目录下。2:将以上的文件再拷贝到另一个目录下,也就是说复制...
请高手帮忙? 数据库中的默认值 用Sql 语句怎么写??
在字段类型后加 DEFAULT GETDATE() 就可以了
...关于数据库原理的题目实在是不能理解,请高手帮忙啊~~
第二题:至少使用Grades和Courses 。因为Grades表中有学号属性,Courses表中有CNAME属性。利用Grades和Courses 两个表中的C#进行连接可以查出学生号为“20060401”的学生的“数据库应用技术”课程的成绩。第四题:是多对一。比如A是系,B是学生,C是学校。一个系有许多学生,一个学生只能属于一个系,一...