oracle执行脚本文件的命令。
start 目录\文件名。
例1:参加了p2项目的员工号。
select essn from works_on where pno = p2'
23010119950101xxxx
xxxxxxxxxxxxxxxxxx
例2:参加了项目名为“哈同公路”的员工名字。
select name from employee, project, works_on where pname = 哈同公路' and ssn=essn and pnumber=pno
张红 张三
李四 王二
灰太狼 超人
例3:在“研发部”工作的所有工作人员名字。
select name from employee, department where dname = 研发部' and dno=dnumber
select name from employee where dno in (select dnumber from department where dname = 研发部')
select name from employee where dno = select dnumber from department where dname = 研发部')
张红 张三
李四 王二
例4:在“研究部”工作的所有工作人员的名字和地址
select name, address from employee, department where dname = 研发部' and dno=dnumber
select name, address from employee where dno in (select dnumber from department where dname = 研发部')
select name, address from employee where dno = select dnumber from department where dname = 研发部')
张红哈尔滨南岗区三十道街。
张三哈尔滨道里区十二道街。
李四哈尔滨道外区三道街。
王二哈尔滨动力区六十道街。
例5:在“研发部”工作且工资低于3000元的员工名字和地址。
select name, address from employee, department where dname = 研发部' and salary < 3000 and dno=dnumber
select name, address from employee where dno in (select dnumber from department where dname = 研发部') and salary < 3000
select name, address from employee where dno = select dnumber from department where dname = 研发部') and salary < 3000
李四哈尔滨道外区三道街。
王二哈尔滨动力区六十道街。
例6:没有参加项目p1的员工姓名。
select name from employee where not exists (select * from works_on where ssn=essn and pno= 'p1')
李四 王二
灰太狼 红太狼
喜羊羊 例7:没有家属的工作人员名字。
select name from employee where not exists(select * from dependent where ssn=essn)
张红 李四
王二 喜羊羊
超人 例8:由张红领导的工作人员的姓名和所在部门的名字。
select from employee e, employee m, department where and = 张红' and = dnumber
张红研发部。
张三研发部。
李四研发部。
王二研发部。
例9:至少参加了3个项目的职工号。
select essn from works_on group by essn h**ing count(*)3
select distinct from works_on a, works_on b, works_on c where = and b. essn = and and and
23010119950101xxxx
xxxxxxxxxxxxxxxxxx
例10:至少参加了项目p1和项目p2的员工号。
select from works_on e, works_on m where 'p1' and 'p2' and =
xxxxxxxxxxxxxxxxxx
例11:参加了全部项目的员工号码和姓名。
select ssn,name from employee where not exists(select * from project where not exists(select * from works_on where ssn=essn and pnumber=pno))
select ssn, name from employee, works_on where ssn = essn group by ssn, name h**ing count(*)select count(*)from project)
select ssn, name from employee where ssn in (select essn from works_on group by essn h**ing count(*)select count(*)from project) )
xxxxxxxxxxxxxxxxxx 超人。
例12:在参加了2号项目的雇员中,查询比雇员“张三”的酬金低的雇员姓名
select name from employee
where ssn in (select essn from works_on where pno='p2') and salary < select salary from employee where name = 张三')
李四 王二
灰太狼。例13:求这样的员工姓名,该员工参加了张三没有参加的某个项目。
select name from employee
where ssn in (select essn from works_on where pno
not in (select pno from employee, works_on where ssn =essn and name = 张三')
张红 李四
灰太狼 红太狼
喜羊羊 超人
例14:求这样的员工姓名,该员工至少参加了王二参加的所有项目(不列出王二)。
select name from employee
where name !=王二' and not exists (
select * from works_on works_on_1 where essn in (select ssn from employee where name ='王二') and not exists
select * from works_on works_on_2 where works_on_ =ssn and works_on_ =works_on_ )
select name from employee where name! =王二' and ssn in
select essn from
select * from works_on where pno in (select pno from works_on where essn in (select ssn from employee where name ='王二')
as xgroup by essn h**ing count(*)
select count(*)from works_on where essn in (select ssn from employee where name ='王二')
张红 张三
李四 超人
例15:求这样的员工姓名和他在项目中的平均工作时间,该员工至少参加了两个项目,并且在这两个项目中的工作时间都不低于100小时。
SQL练习答案
第一章习题答案。一 选择题。1 c 2 b 3 d 4 c 5 d6 a 7 a 8 b 9 d 10 b 11 c 12 d 13 a 14 d 15 b二填空题。1 数据库系统。2 关系。3 物理独立性。4操作系统。5 数据库管理系统 dbms 6 多对多。7 独立性。8完整性控制。9 逻辑独立...
SQL练习1 答案
总分100 1.安装mysql数据库。为确保数据安全,修改root用户密码为abcabc123 截图,5分 mysqladmin u root password abcabc123 2.建立 bisai 数据库,并查看所有数据库 截图,2分 show databases 3.建立 xuanshou ...
sql练习无答案
下列关于sql sever 2005数据库的分离和附加的说法,正确的是 c d 选择二项 a 数据库一旦被分离,数据文件就被删除了。b 数据库被分离后,数据文件还在,被分离的数据文件能且仅能被重新附加到原来与之分离的sql server实例上。c 数据库被分离后,数据文件还在,被分离的数据文件能被重...