1)Students表:包含SNo,SName,SSex,SClass,SAge 其中SNo为主键
2)Courses表:包含CNo,CName,CGrade(开设学期),CScore(学分)、IsProfession(是否是专业课) 其中CNo为主键
3)Scores表:包含SNo,CNo,Score 其中SNo和CNo分别与Students中的SNo和Courses中的CNo有外键关系。
1)查询全班年龄在20岁至24岁之间的所有学生的信息。
select * from Students where SAge>=20 and SAge<=24 (是否包含20和24,修改相关=号)
2)查询开设学期为2的所有的专业课程号、课程名称、和学分。
select CNo,CName,CScore from Courses where CGrade=2 and IsProfession=1(假设专业课是此值为1)
3)查询学号为000004学生的所有课程的成绩。
select Scores.SNo,Scores.CNo,Courses.CName,Scores.Score from Scores INNER JOIN Courses ON Scores.CNo=Courses.CNo where Scores.SNo='000004'
4)查询姓名为“王明”的学生的所有及格课程的课程名称和成绩。
select Scores.SNo,Scores.CNo,Courses.CName,Scores.Score from Scores INNER Join
Courses ON Scores.CNo=Courses.CNo where Scores.SNo in (select SNo from Students where SName='王明') and Scores.Score>=60
5)查询班级为“0401”的所有学生的课程名为“SQL数据库管理”的成绩,按成绩降序的方式排列,如果成绩相同,则按照学号进行排列。
select Scores.SNo,Scores.CNo,Courses.CName,Scores.Score from Scores INNER Join
Courses ON Scores.CNo=Courses.CNo where Scores.SNo in (select SNo from Students
where SClass='0401' order by Scores.Score
B. SQL数据库练习题
1.DISTINCT、top
2.convert
3.查询、更新、管理
4.主键、外键
5.ROLLBACK TRAN、COMMIT TRAN
6.sp_renamedb
8.identity
9.插入数据的列数必须和表中列数相等
10.空
12.truncate
14.原子性、一致性、隔离性、永久性
16.count、avg、len、substring
17.cast
18.windows
19.物理数据表
20.<>、!=
C. 数据库 SQL应用题
10.题答案
select 课程号,总分,平均分,最高分,最低分(
select 课程号,
总分=sum(成绩),
平均分=sum(成绩)/count(*),
最高分=max(成绩),
最低分=min(成绩)
from 成绩
group by 课程号) as kc order by 平均分 desc
11.题答案
select 课程号,
平均分=sum(成绩)/count(*)
from 成绩
where 课程号='1001' or 课程号='1002'
group by 课程号
12.题答案
select 姓名,xs.学号,kc.平均分
from 学生 as xs
left join (select 学号,
平均分=sum(成绩)/count(*)
from 成绩
group by 学号) as kc on kc.学号=xs.学号
where kc.平均分>80
D. SQL数据库题
第一个
select*fromswheresnoin(
selectsnofromscwherecnoin(
selectcnofromcwherecteacher='李明'
)
)
第二个
selects.sname,sc,sum(sgrade)fromsleftjoinscons.sno=sc.sno
wheresc.sgrade>=60
groupbys.sname
第三个
createindexc_cno_indexONc(cno)
E. Sql数据库选择题,9~14题。
答案是accdac
9. A order by 是按列分组
10. C is null 表示为“空”,is not null 表示为“非“”
11. C cno在sc表中有,故不需用到course表
12. D 显然,三个表都要用到
13. A 其实可以根据英文单词来记忆,insert就是插入的意思,update就是更新的意思,如果你玩游戏的话,当游戏要更新补丁的时候就会有“update”字样
14. C A是创建数据库,B是创建视图,C是创建表,D是修改表,alter是修改的意思
注:个人建议这种一眼看过去就知道答案的题目一定要完全掌握,其实不难的,不需要你会英语,把单词记住就好了。
F. 30道SQL判断题
1.SQL语言的视图定义和视图操作功能在一定程度上支持了数据的逻辑独立性。( T )
2.关系必须有唯一的候选码。( T )
扯什么候选码呢 就是外键 这些屌砖家
3.数据的完整性指数据库中数据的全面性。( F )
不只,完整性应该是正确性的意思
4.“授权”是数据库系统中采用的完整性措施之一。( F )
安全性措施
5.在关系数据库中,不同关系之间的联系是通过指针实现的。( F )
是外键
6.数据库触发器不是计算机硬件。(T )
7.事务在运行中间被强行停止可能会破坏事务原子性。( F )
事务本身就具有原子性
8.数据库触发器是计算机硬件。( F )
9.数据库系统避免了一切冗余。( F )
10.数据库系统中用于描述数据的数据存储在称为数据字典的特殊文件中。( T )
11.如果一个关系模式的候选键仅含有一个属性,则该关系模式一定是2NF。( F )
这屌问题我还真搞不懂
12.数据库中存储的只是数据。( T )
这道问题。。我觉得 如果穷究下去 是对的 因为计算机中存储的也只有数据,,
13.自然连接是关系代数的五种基本运算之一。( F )
并(U)、交(⌒)、投影(π)选择(σ)和笛卡儿积(×)
自然连接是inner join把。。
14.关系中不同的属性可来自同一个域。( T )
15.数据库系统的程序称为数据库事务。( F )
16.数据库系统的数据没有任何冗余。( F )
事实上良好的系统应该有一定荣誉的
17.若对关系依次进行两次选择,则结果与两次操作的先后顺序无关。( T )
18.连接是关系代数的基本运算之一。( T )
19.数据库是数据库系统的核心。( T )
20.建立索引的目的是为了提高查询速度。( T )
21.建立索引的目的是为了节约存储空间。( F )
22.E-R图在需求分析阶段生成。( T )
23.SQL语言的视图定义和视图操作功能在一定程度上支持了数据的逻辑独立性。(T )
24.若对关系依次进行两次选择,则结果与两次操作的先后顺序无关。( T )
25.若R.A→R.B,R.B→R.C, 则R. A→R.C。( T )
26.数据库中的数据可以共享。( T )
27.关系代数的运算对象是关系,运算结果也为关系。( T )
28.只有两个属性的关系必是3NF。( F )
29.没有非主属性的关系必然属于3NF。( F )
30.数据库管理系统DBMS是操作系统的一部分。(T )
G. 数据库SQL题目
第二题是说查询每科都大于80分的这个人的平均成绩还是说所有科目所有人的平均成绩?如果是后者用一个Sql语句得到结果不行吧?有高人解答吗?如果是前者,还有可能。
借用楼上的两句:
1. select convert(varchar(10),getdate(),120)
2. select name,avg(score) from table_score a
where not exists ( select 1 from table_score b where a.name = b.name and b.score <= 80 )
group by name
3.select year,sum(m1) as m1,sum(m2) as m2,sum(m3) as m3 from (
select year,case month when 1 then amount else 0 end as m1,case month when 2 then amount else 0 end as m2,case month when 3 then amount else 0 end as m3 from tabe) group by year
H. SQL数据库题目
1、创建数据库
create database 学生成绩数据库
on primary
(name='学生成绩数据库_mdf',
filename='e:\学生成绩数据库.mdb',
size=1,
maxsize=10,
filegrowth =10%)
log on
(name='学生成绩数据库_ldf',
filename='e:\学生成绩数据库.ldf',
size=1,
maxsize=10,
filegrowth =10%)
2、创建课程表
create table 课程表
(课程号 char(6) primary key,
课程名称 char(20) not null,
任课教师 char(8))
3、 创建学生表
create table 学生表
(学号 char(6) primary key,
姓名 char(8) not null,
性别 char(2) constraint ck_性别 check( 性别 in ('男','女')),
民族 char(20) not null default '汉')
4、创建成绩表
create table 成绩表
(学号 char(6) not null foreign key(学号) references 学生表(学号),
课程号 char(6) not null foreign key(课程号) references 课程表(课程号),
分数 int constraint ck_分数 check(分数 between 0 and 150))
5、添加信息
insert 课程表(课程号,课程名)
values ('100001', '大学语文')
insert 课程表(课程号,课程名)
values ('100002', '大学英语')
6. 写出创建成绩表视图(学号,姓名,课程号,课程名称,成绩)的代码
create view 成绩表视图
as
select 学生表.学号,姓名,课程表.课程号,课程名称,成绩
from 学生表,课程表,成绩表
where 学生表.学号=成绩表.学号 and 成绩表.课程号=课程表.课程号
7. 写出计算大学语文课程成绩最高分、最低分、平均分的代码
select max(分数) '最高分数',min(分数) '最低分数',avg(分数) '平均分数'
from 成绩表
where 学号 in (select 学号
from 课程表
where 课程名称='大学语文')
8、 检索姓李的女同学的信息:姓名、性别、民族
select 姓名,性别,民族
from 学生表
where 姓名 like '李%' and 性别='女'
I. sql期末考试试题及答案
查询题:1).select*fromEMPwhereDEPTNO='20';2).select*fromEMPwhereENAMElike'MA%';3).select*fromEMPorderbyJOB;4).selectb.DNAME,COUNT(a.*)asnumfromEMPaleftjoinDEPTbona.DEPTNO=b.DEPTNOgroupbyb.DNAME5).select*fromEMPwhereSAL>(selectmax(SAL)asSALfromEMPwhereDEPTNO='20');程序题:1).函数:CREATEFUNCTION[SumN](@nINT)RETURNSINTASBEGINdeclare@outINT,@iintset@out=0set@i=1while@i<=@nbeginset@out=@out+@iset@i=@i+1endreturn(@out)END2).存储过程:CREATEPROCEDURE[emp_info](@nDECIMAL(2))ASselect*fromEMPwhereDEPTNO=@n视图和索引1).CREATEVIEW[emp10_view]ASselect*fromEMPwhereDEPTNO='10'2).ALTERTABLE[EMP]ADDCONSTRAINT[IX_Empno]PRIMARYKEYCLUSTERED([empno]ASC)
J. sql数据库题,急!马上给答案,给高分!!
1.select s.sname,sc.cno from s,sc where s.sno=sc.sno and s.sno=95001
2.select sc.sno,s.sname from s,sc
where sc.cno in(select c.cno from course c where cname='数据库概论')
and sc.grade in(80,90);
3.select s.sno,s.sname,s.sdept from s,sc
where s.sno=sc.sno and sc.cno in(select c.cno from course c);
4.select c.cno,c.cname from course c where
c.cno not in(select sc.cno from sc);
5.select sc.sno,sc.cno,avg(grade) from sc where sc.sno in
(select sno from sc group by sc having count(sno)>=3;)
6.delete from sc where sc.cno in((select c.cno from course c where c.cname='数据结构'))
delete from course where cname='数据结构'