① 使用SQL语言完成下列操作
Create Table Employee
(Employeeid char(10) nut null
Name char()
Departmentld char()
);
create view View1 ()
as
select Employeeid ,Nmae, Departmentid
from Employee
第一个表和第一个试图应该是这样吧,剩下的楼主就照猫画虎吧
② 试用SQL语句写出下列操作
1) create database CMP;
2) create table EMP( E# char(8) primary key,
ENAME char(20) not null,
AGE int,
SEX char(2),
ECITY char(40));
Create table COMP( C# char(5) primary key,
CNAME char(40) not null,
CITY char(40),
MANAGERchar(8) references EMP(E#));
create table WORKS(
E# char(5) foreign key references EMP(E#),
C# char(2) foreign key references COMP(C#),
SALARY decimal(6,2),
Primary key(E#,C#)
);
3)select E#,ENAME from EMP where AGE>50 and SEX=’男’ order byAGE DESC;
4) select EMP.E#,ENAME from EMP,WORKS where SEX=’男’ and
SALARY>1500 and EMP.E#=WORKS.E#;
5) select EMP.E#,ENAME
from EMP,COMP,WORKS
where EMP.E#=WORKS.E# and
COMP.C#=WORKS.C# and
CNAME='华联公司'andSALARY <( select avg(SALARY) from WORKS,COMP where CNAME='华联公司'and COMP.C#=WORKS.C#)
6)update WORKS set SALARY=SALARY+100 where E# in(select E#
From EMP where AGE>50)
7)delete from WORKS where E# in(select E# from EMP where AGE>60)
Delete from EMP where AGE>60
8) create view hualian_female(E#,ENAME,C#,CNAME,SALARY)
as select EMP.E#,ENAME,COMP.C#,CNAME,SALARY from EMP,COMP,WORKS
where EMP.E#=WORKS.E# and
COMP.C#=WORKS.C# and SEX='女'andCNAME='华联公司'
试述视图的作用。
答:
( l )视图能够简化用户的操作; ( 2 )视图使用户能以多种角度看待同一数据; ( 3 )视图对重构数据库提供了一定程度的逻辑独立性; ( 4 )视图能够对机密数据提供安全保护。
建立索引时需要考虑哪些影响性能的问题?
(1)表的数据量;(2)建立索引的数量;(3)建立索引的时机;(4)是否建立聚簇索引;(5)数据是否有大量的重复值;
③ 使用SQL语句完成以下操作.
1
select
*
from
学生表
a,班级表
b
where
a.班级编号=b.班级编号
2
select
top
10
*
from
班级表
3
select
a.姓名,b.课程名称,c.成绩
from
学生表
a,课程表
b,成绩表
c
where
a.学号=c.学号
and
b.课程编号=c.课程编号
and
a.学号='20050101'
4
select
top
10
a.姓名,b.课程名称,c.成绩
from
学生表
a,课程表
b,成绩表
c
where
a.学号=c.学号
and
b.课程编号=c.课程编号
and
a.学号='20050101'
order
by
c.成绩
desc
5
select
top
5
*
into
科技学生信息表
from
学生表
6
select
a.姓名,b.课程名称,c.成绩
from
学生表
a,课程表
b,成绩表
c
where
a.学号=c.学号
and
b.课程编号=c.课程编号
and
a.学号='201001002'
and
c.成绩
between
80
and
90
7
select
*
from
课程表
where
课程名称
like
'大学%'
8
select
a.姓名,a.学号,avg(b.成绩)
as
平均成绩
from
学生表
a,成绩表
b
where
a.学号=b.学号
group
by
a.姓名,a.学号
9
select
a.姓名,a.学号,sum(b.成绩)
as
总分,count(*)
as
课程门数,avg(b.成绩)
as
平均分
from
学生表
a,成绩表
b
where
a.学号=b.学号
group
by
a.姓名,a.学号
10
select
a.学号,a.姓名,b.成绩,b.课程编号
from
学生表
a,成绩表
b
where
a.学号=b.学号
希望你能通过以上的答案,自己弄懂都是什么意思,over
④ 用SQL语句完成下列操作要求
1.insert into stuinfo(stuid,stname,sex,nation,class,address) values(2015121226,张三,男,白族,15计算机网络,云南大理);
2.delete course where cname='foxpro应用基础';
3.select stname as 姓名,round(to_number(to_char(sysdate,'yyyy')-to_char(birthdate,'yyyy'))) as 年龄,class as 班级 from stuinfo where round(to_number(to_char(sysdate,'yyyy')-to_char(birthdate,'yyyy')))>=20;
4.select st.stuid as 学号,st.stname as 姓名 from stuinfo st inner join course c on c.cid=st.stuid inner join score sc on sc.cid=c.cid where sc.score in (select max(score) from score);
5.select st.stuid as 学号,st.stname as 姓名,c.cname as 课程名称,sc.score as 成绩 from stuinfo st inner join course c on c.cid=st.stuid inner join score sc on sc.cid=c.cid;
6.select st.stname as 姓名 from stuinfo where address in (select address from stuinfo where stname='张三');
7.select stname as 姓名,to_char(sysdate,'yyyy')-to_char(substr(zjh,7,4)) as 年龄 from stuinfo
8.create or replace procere stmax
as
fs nvarchar2(200);
mz nvarchar2(200);
begin
select c.cname into mz,sc.score into fs from course c inner join score sc on sc.cid=c.cid group by c.cname;
DBMS_OUTPUT.put_line(mz||':'||fs);
end;
9.触发器略过
10.略
11.update course set cname='数据库原理与应用' where cname='数据库原理';
12.select * from stuinfo where stname like '张%';
13.select * from stuinfo where nation !='汉族';
14.select c.cname,AVG(sc.score) from course c inner join score sc on sc.cid=c.cid group by c.cname;
累死,望采纳
⑤ 数据库问题 使用SQL语言完成下列操作 急!
createtable学生(学号char(8),姓名char(8),性别char(2),所在系char(10),出生日期date);
insertinto学生values('12001001','张x','女','经济系','1992-12-05');
select学号,姓名from学生where性别='男'
select姓名,所在系from学生where出生日期>='1993-1-1'
select姓名,学号,性别from学生where姓名like'刘%'
⑥ 用SQL语句完成以下操作。
1
insert into 学生.DBF(学号,姓名,性别) values('10359999','张三','男')
2
update 学生成绩.DBF set 成绩=null where 课程.DBF.课程编号=学生成绩.DBF.课程编号 and 课程.DBF.课程名称='计算机' and 学生成绩.DBF.成绩<60
3
update 学生成绩.DBF set 成绩=成绩 + 20 where 课程编号='01'
4
select 学号,姓名,年龄 from 学生.DBF where DateDiff('yyyy',出生日期,getDate())=22
⑦ 试用SQL语言实现下列操作:
1. 对于“学生”表中的每一个系,求学生的平均年龄,并把结果存入数据库。
SELECT
Sdept, AVG(Sage) into [结果表的名字]
FROM
Student
GROUP BY
Sdept
2.查询姓“欧”的学生的姓名和学号。
SELECT
Sname, Sno
FROM
Student
WHERE
Sname LIKE '欧%'
3.将Student表中所有男生记录定义为一个视图
CREATE VIEW [新的视图名字] AS
SELECT * FROM Student WHERE Ssex = '男'