SQL数据库笔试题_第1页
SQL数据库笔试题_第2页
SQL数据库笔试题_第3页
SQL数据库笔试题_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SQL数据库笔试题

问题描述:

为管理岗位业务培训信息,建立3个表:

S(S#,SN,SD,SA)S#,SN,SD,SA分别代表学号、学员姓名、所属单位、学员年龄

C(C#,CN)C#,CN分别代表课程编号、课程名称

SC(S#,C#,G)S#,C#,G分别代表学号、所选修的课程编号、学习成果

要求实现如下5个处理:

1.使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名

2.使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位

3.使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位

4.使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位

5.查询选修了课程的学员人数

6.查询选修课程超过5门的学员学号和所属单位

1.使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名

SELECTSN,SDFROMSWHEREIN(

SELECTFROMC,SCWHEREC.=SC.ANDCN=N’税收基础’)

2.使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位

SELECTS.SN,S.SDFROMS,SCWHERES.=SC.ANDSC.=’C2′

3.使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位

SELECTSN,SDFROMSWHERENOTIN(

SELECTFROMSCWHERE=’C5′)

4.使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位

SELECTSN,SDFROMSWHEREIN(

SELECTFROMSCRIGHTJOINCONSC.=C.

GROUPBYHAVINGCOUNT(*)=COUNT(DISTINCT))

5.查询选修了课程的学员人数

SELECT学员人数=COUNT(DISTINCT)FROMSC

6.查询选修课程超过5门的学员学号和所属单位

SELECTSN,SDFROMSWHEREIN(

SELECTFROMSC

GROUPBYHAVINGCOUNT(DISTINCT)>5)

题目2

问题描述:

已知关系模式:

S(SNO,SNAME)同学关系。SNO为学号,SNAME为姓名

C(CNO,CNAME,CTEACHER)课程关系。CNO为课程号,CNAME为课程名,CTEACHER为任课老师

SC(SNO,CNO,SCGRADE)选课关系。SCGRADE为成果

要求实现如下5个处理:

1.找出没有选修过“李明”老师讲授课程的全部同学姓名

2.列出有二门以上(含两门)不及格课程的同学姓名及其平均成果

3.列出既学过“1”号课程,又学过“2”号课程的全部同学姓名

4.列出“1”号课成果比“2”号同学该门课成果高的全部同学的学号

5.列出“1”号课成果比“2”号课成果高的全部同学的学号及其“1”号课和“2”号课的成果

1.找出没有选修过“李明”老师讲授课程的全部同学姓名

SELECTSNAMEFROMSWHERENOTEXISTS(

SELECT*FROMSC,CWHERESC.CNO=C.CNOANDC.CTEACHER=’李明’ANDSC.SNO=S.SNO)

2.列出有二门以上(含两门)不及格课程的同学姓名及其平均成果

SELECTS.SNO,S.SNAME,AVG_SCGRADE=AVG(SC.SCGRADE)FROMS,SC,(

SELECTSNOFROMSCWHERESCGRADET2.sandT1.sprovince=T2.sprovince;

createtabletable_name_2from(selectsprovince,avg(smoney)avgmoneyfromtable_name_1groupbysprovince);

#3

表内容

user(xvarchar(50),yvarchar(50))

火箭胜

火箭胜

火箭负

火箭负

湖人胜

湖人负

结果:

胜负

火箭22

湖人11

这样的sql语句怎么写?

selectxuser,sum(caseywhen‘胜’then1else0end)胜,sum(caseywhen‘负’then1else0end)负fromusergroupbyx

#4

表结构city

idnamemoney

1北京200

2上海100

3北京399

4广州300

5北京300

6上海100

7广州200

8上海500

求money的值小于money的平均值城市id

selecta.idfromtestawherea.money200

selectid,sum(score)fromstuinfogroupbyidhavingsum(score)>=220;

#7

a表(人)b表(水果)

aidnamebidname

1a1苹果

2b2梨

3c3橙

4d4香蕉

c表

cidaidbid

111

213

314

423

524

632

741

842

943

1044

问题:依据bid求出aid(如:bid=3andbid=4那么可以得到aid=1,aid=2,aid=4),就是说依据条件给出的水果类别.来求出买了这些水果的人.(求出买了橙子和香蕉的人的名字:)

selectdistinct(aid)fromCwhereaidin(selectaidfromCwherebid=3)andaidin(selectaidfromCwherebid=4)

#8

数据库表A有个字段a是int类型

a中有数据有1到9任意(有重复的)

想取得a中,当a=1时a=2时a=3……各一条记录的列表

selecttop1*fromAwherea=1

union

selecttop1*fromAwherea=2

union

selecttop1*fromAwherea=9

#9

一个表User,有字段id,name,message,现在要查出这个表中发消息(message)最多的人的名字,怎么表达啊?

selectnfrom(selectnamencount(id)cfromusergroupbyidorderbyc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论