Sql Server数据库查询语句练习题含答案.docx

上传人:b****6 文档编号:13804519 上传时间:2023-06-17 格式:DOCX 页数:52 大小:27.14KB
下载 相关 举报
Sql Server数据库查询语句练习题含答案.docx_第1页
第1页 / 共52页
Sql Server数据库查询语句练习题含答案.docx_第2页
第2页 / 共52页
Sql Server数据库查询语句练习题含答案.docx_第3页
第3页 / 共52页
Sql Server数据库查询语句练习题含答案.docx_第4页
第4页 / 共52页
Sql Server数据库查询语句练习题含答案.docx_第5页
第5页 / 共52页
Sql Server数据库查询语句练习题含答案.docx_第6页
第6页 / 共52页
Sql Server数据库查询语句练习题含答案.docx_第7页
第7页 / 共52页
Sql Server数据库查询语句练习题含答案.docx_第8页
第8页 / 共52页
Sql Server数据库查询语句练习题含答案.docx_第9页
第9页 / 共52页
Sql Server数据库查询语句练习题含答案.docx_第10页
第10页 / 共52页
Sql Server数据库查询语句练习题含答案.docx_第11页
第11页 / 共52页
Sql Server数据库查询语句练习题含答案.docx_第12页
第12页 / 共52页
Sql Server数据库查询语句练习题含答案.docx_第13页
第13页 / 共52页
Sql Server数据库查询语句练习题含答案.docx_第14页
第14页 / 共52页
Sql Server数据库查询语句练习题含答案.docx_第15页
第15页 / 共52页
Sql Server数据库查询语句练习题含答案.docx_第16页
第16页 / 共52页
Sql Server数据库查询语句练习题含答案.docx_第17页
第17页 / 共52页
Sql Server数据库查询语句练习题含答案.docx_第18页
第18页 / 共52页
Sql Server数据库查询语句练习题含答案.docx_第19页
第19页 / 共52页
Sql Server数据库查询语句练习题含答案.docx_第20页
第20页 / 共52页
亲,该文档总共52页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Sql Server数据库查询语句练习题含答案.docx

《Sql Server数据库查询语句练习题含答案.docx》由会员分享,可在线阅读,更多相关《Sql Server数据库查询语句练习题含答案.docx(52页珍藏版)》请在冰点文库上搜索。

Sql Server数据库查询语句练习题含答案.docx

SqlServer数据库查询语句练习题含答案

第三章综合练习

1.创建一个数据库,数据库名字edu,数据文件逻辑名字edu_data,初始大小10M,最大为1024M,增长比例为每次1M;日志文件逻辑名字为edu_log,初始大小5M,最大为100M,按10%比例增长,这些文件都存储到E盘根目录下,并且物理文件名与逻辑文件名全部相同。

CREATEDATABASEedu

ONPRIMARY

(NAME=N'educ_data',FILENAME=N'e:

\educ_data.mdf',SIZE=10240KB,MAXSIZE=1024M,FILEGROWTH=1M)

LOGON

(NAME=N'educ_log',FILENAME=N'e:

\educ_log.ldf',SIZE=5M,MAXSIZE=100M,FILEGROWTH=10%)

2.在edu数据库里创建一个架构,架构名字为自己名字的汉语拼音。

createschemazhangsan;--自己名字的汉语拼音

3.在创建的架构中,创建如下表:

表1student表(学生信息表)

字段名称

类型

宽度

允许空值

主键

说明

sno

char

8

NOTNULL

学生学号

sname

char

8

NOTNULL

学生姓名

sex

char

2

NULL

学生性别

native

char

20

NULL

籍贯

birthday

datetime

NULL

学生出生日期

pno

char

4

NULL

专业号

dno

char

6

NULL

学生所在院系(外键)

classno

char

4

NULL

班级号

entime

datetime

NULL

学生入校时间

home

varchar

40

NULL

学生家庭住址

tel

varchar

40

NULL

学生联系电话

表2course表(课程信息表)

字段名称

类型

宽度

允许空值

主键

说明

cno

char

10

NOTNULL

课程编号

cname

char

20

NOTNULL

课程名称

cpno

char

10

NULL

先修课程(外键)

experiment

tinyint

NULL

实验时数

lecture

tinyint

NULL

授课学时

semester

tinyint

NULL

开课学期

credit

tinyint

NULL

课程学分

表3student_course表(学生选课成绩表)

字段名称

类型

宽度

允许空值

主键

说明

sno

char

8

NOTNULL

学生学号

cno

char

10

NOTNULL

课程编号

score

tinyint

NULL

学生成绩,0-100之间

表4teacher表(教师信息表)

字段名称

类型

宽度

允许空值

主键

说明

tno

char

8

NOTNULL

教师编号

tname

char

8

NOTNULL

教师姓名

sex

char

2

NULL

教师性别

birthday

datetime

NULL

教师出生日期

dno

char

6

NULL

教师所在院系(外键)

pno

varchar

20

NULL

教师职务

home

varchar

40

NULL

教师家庭住址

zipcode

char

6

NULL

邮政编码

tel

varchar

40

NULL

联系电话

email

varchar

40

NULL

电子邮件

表5teacher_course表(教师上课课表)

字段名称

类型

宽度

允许空值

主键

说明

tcid

smallint

NOTNULL

上课编号

tno

char

8

NULL

教师编号(外键)

classno

char

4

NULL

班级号

cno

char

10

NOTNULL

课程编号(外键)

semester

char

6

NULL

学期

schoolyear

char

10

NULL

学年

classtime

varchar

40

NULL

上课时间

classroom

varchar

40

NULL

上课地点

weektime

tinyint

NULL

每周课时数

表6department表(院系息表)

字段名称

类型

宽度

允许空值

主键

说明

dno

char

6

NOTNULL

学院编号

dname

char

8

NOTNULL

学院名称

dhome

varchar

40

NULL

学院地址

dzipcode

char

6

NULL

学院邮政编码

dtel

varchar

40

NULL

学院联系电话

创建表的时候必须建立主、外键关系。

createtablezhangsan.department(

dnochar(6)primarykey,

dnamechar(8)notnull,

dhomevarchar(40),

dzipcodechar(6),

dtelvarchar(40)

createtablezhangsan.student(

snochar(8)notnullprimarykey,

snamechar(8)notnull,

sexchar

(2),

[native]char(20),

birthdaydatetime,

pnochar(4),

dnochar(6),

classnochar(4),

entimedatetime,

homevarchar(40),

telvarchar(40)

foreignkey(dno)referencesdepartment(dno)

createtablezhangsan.course(

cnochar(10)primarykey,

cnamechar(20)notnull,

cpnochar(10),

experimenttinyint,

lecturetinyint,

semestertinyint,

credittinyint,

foreignkey(cpno)referencescourse(cno)

createtablezhangsan.student_course(

snochar(8),

cnochar(10),

scoretinyint,

primarykey(sno,cno),

foreignkey(sno)referencesstudent(sno),

foreignkey(cno)referencescourse(cno)

createtablezhangsan.teacher(

tnochar(8)primarykey,

tnamechar(8)notnull,

sexchar

(2),

birthdaydatetime,

dnochar(6),

pnotinyint,

homevarchar(40),

zipcodechar(6),

telvarchar(40),

emailvarchar(40),

foreignkey(dno)referencesdepartment(dno)

createtablezhangsan.teacher_course(

tcidsmallintprimarykey,

tnochar(8),

classnochar(4),

cnochar(10)notnull,

semesterchar(6),

schoolyearchar(10),

classtimevarchar(40),

classroomvarchar(40),

weektimetinyint,

foreignkey(tno)referencesteacher(tno),

foreignkey(cno)referencescourse(cno)

4.建立、删除索引

(1)在student表的sname列建立唯一降序索引;

createuniqueindexIX_STUDENT_SNAMEonzhangsan.student(snamedesc)

(2)在course表的credit列上建立升序索引;

createindexIX_COURSE_CREDITonzhangsan.course(credit)

(3)在student_course表的sno列上建立聚集索引。

createclusteredindexIX_STUDENT_COURSE_SNOonzhangsan.student_course(sno)

(4)在student_course表上,以学号升序,学号相同按课程号降序建立索引;

createindexIX_STUDENT_COURSE_SNOCNOonzhangsan.student_course(sno,cnodesc)

(5)在teacher表的tno列上建立聚集升序索引。

createclusteredindexIX_TEACHER_TNOONteacher(tno)

(6)将student_course表的sno列上的聚集索引删掉。

dropindexIX_STUDENT_COURSE_SNO

5.将给出的数据插入到相应的表里,必须使用insert语句。

student表

学号

姓名

性别

籍贯

出生日期

专业号

院系编号

班级号

入学日期

家庭住址

电话

20101001

张三

河北沧州

1989-03-15

2

1

2

2010-9-1

河北省沧州市

NULL

20101002

张强

河北邢台

1990-05-01

2

1

2

2010-9-1

河北省邢台市

131********

20101003

张小兵

山东济南

1991-05-02

1

2

4

2010-9-1

河北省唐山市

NULL

20101004

李燕

山东济南

1991-05-02

NULL

2

1

2010-9-1

山东省济南市

151********

20101005

李晓

山东德州

1991-05-02

1

2

4

2010-9-1

山东省德州市

153********

20101006

上官青

陕西西安

1993-05-02

3

3

1

2010-9-1

陕西省西安市

NULL

20101007

李晓芳

陕西西安

1993-05-02

3

1

1

2010-9-1

陕西省西安市

158********

20101008

上官文宏

北京市

1988-05-02

NULL

3

3

2010-9-1

北京市

158********

20101009

上官文宏

河北保定

1988-05-02

3

3

1

2010-9-1

山东省青岛市

158********

20101010

张倩

河北保定

1988-11-02

1

2

3

2010-9-1

河北省保定市

138********

20101011

刘英伟

河北保定

1988-11-02

NULL

3

2

2010-9-1

河北省保定市

151********

20101012

刘伟

河北保定

1989-11-02

1

2

2

2010-9-1

河北省保定市

153********

20101013

翟南

上海市

1989-11-21

3

4

3

2010-9-1

上海市

137********2

20101014

窦士厝

云南昆明

1988-10-02

3

4

1

2010-9-1

云南省昆明市

131********0

course表

课程编号

课程名称

先修课程

实验时数

授课学时

开课学期

课程学分

1

数据库系统概论

3

20

72

1

3

2

100%掌握财务报表

7

30

54

1

2

3

数据结构

5

30

72

2

4

4

c++程序设计

5

15

72

2

4

5

c语言程序设计

NULL

18

72

2

3

6

WEB开发

NULL

28

54

1

3

7

计算机导论

NULL

10

32

1

1

student_course表

学生学号

课程编号

学生成绩

20101001

1

90

20101001

2

70

20101001

3

95

20101001

4

90

20101001

5

88

20101001

6

NULL

20101001

7

NULL

20101002

2

65

20101002

4

89

20101002

6

NULL

20101003

2

90

20101003

3

89

20101003

4

90

20101004

2

65

20101004

4

87

20101004

5

90

20101004

6

NULL

20101005

4

92

20101005

6

NULL

20101007

4

90

20101007

5

88

20101007

6

NULL

20101009

2

80

20101010

3

75

20101010

5

88

20101009

7

80

20101004

7

70

20101003

7

86

teacher表

教师编号

姓名

性别

出生日期

院系编号

职务

家庭住址

邮政编码

联系电话

email

836001

董青

1975-04-26

1

讲师

河北省石家庄市

50000

137********

dong@

836002

李亮

1975-04-27

1

副教授

河北省石秦皇岛市

66000

151********

liliang@

836003

李晓亮

1975-04-28

1

讲师

河北省石家庄市

50000

138********

lixl@

836004

项天

1975-04-29

2

副教授

河北省石家庄市

50000

131********

xy23@

836005

余孝天

1975-04-30

2

教授

北京市

100000

138********

yugong@

836006

鲁婵娟

1975-05-01

3

副教授

河北省石家庄市

50000

151********

chanjuan@

836007

李冉冉

1975-05-02

3

讲师

河北省唐山市

63000

151********

ranran@

836008

庄文

1975-05-03

2

教授

河北省唐山市

63000

138********

zw1965@

836009

李晓璐

1975-05-04

3

讲师

河北省石家庄市

50000

158********

lxl@

836010

范娜

1975-05-05

3

讲师

山东省济南市

250000

136********

fn@

836011

萧不语

1975-05-06

2

讲师

新疆自治区乌鲁木齐市

830000

130********

xby@

teacher_course表

上课编号

教师编号

班级号

课程编号

学期

学年

上课时间

上课地点

每周课时数

1

836001

1

1

1

2010

8:

00-11:

00

公教楼305

3

2

836001

1

2

1

2010

8:

00-11:

00

公教楼305

3

3

836002

2

2

1

2010

8:

00-11:

00

c301

3

4

836002

2

3

1

2010

8:

00-10:

00

c302

2

5

836003

2

1

1

2010

8:

00-10:

00

c302

2

6

836003

1

3

1

2010

14:

00-16:

00

c302

2

7

836003

3

4

1

2010

14:

00-16:

00

c304

2

8

836004

2

3

3

2010

14:

00-17:

00

c204

3

9

836005

2

3

2

2010

14:

00-17:

00

c204

3

10

836006

2

3

1

2010

14:

00-17:

00

c301

3

11

836007

2

3

2

2010

14:

00-17:

00

c201

3

12

836007

3

4

2

2010

14:

00-17:

00

c204

3

13

836007

3

5

2

2010

14:

00-17:

00

c201

3

14

836006

3

4

8

2010

14:

00-17:

00

c201

3

15

836006

3

5

9

2010

14:

00-17:

00

c201

3

16

836006

3

6

8

2010

14:

00-17:

00

c201

3

17

836005

3

5

7

2010

14:

00-17:

00

c302

3

18

836004

3

4

6

2010

14:

00-17:

00

c201

3

19

836003

3

5

5

2010

14:

00-17:

00

c201

3

20

836003

2

5

4

2010

14:

00-17:

00

c201

3

department表

学院编号

学院名称

学院地址

邮政编码

学院联系电话

1

法政学院

河北省石家庄市裕华区南二环东路20号

50024

80788100

2

教育学院

河北省石家庄市裕华区南二环东路20号

50024

80788101

3

软件学院

河北省石家庄市裕华区南二环东路20号

50024

80788102

4

数信学院

河北省石家庄市裕华区南二环东路20号

50024

80788102

注意插入数据时注意满足参照关系,否则插入数据会出错。

例子:

往学生表插入一条记录

INSERTINTOSTUDENT(SNO,SNAME,SSEX,SBIRTHDAY,CLASS)

VALUES('108','曾华','男','1977-09-01',95033);

向教师表插入一条记录

insertintoteacher

values('101','赵旭东',,,'副教授','数学系')

6.查询

--简单查询部分练习

1)查询全体学生的学号、姓名、籍贯

selectsno,sname,native

fromstudent

2)查询所有课程的名称及学分

selectcname,credit

fromcourse

3)查询教师的姓名、性别、联系电话

selecttname,sex,tel

fromteacher

4)查询每门课程的课程编号、课程名称及理论学时

selectcno,cname,lecture-experiment理论课时

fromcourse

5)查询全体学生的姓名、联系电话,并在前面加上字符串‘联系方式’

selectsname,'联系方式',tel

fromstudent

6)查询全体教师的人数

selectcount(tno)教师人数

fromteacher

7)查询全体教师的姓名、家庭住址、邮政编码(使用列别名)

selecttname'姓名',home'家庭住址',zipcode'邮政编码'

fromteacher

8)查询全体学生的姓名

selectsname

fromstudent

9)查询本学期有课的教师编号

selectdistincttno有课的教师编号

fromteacher_course

wheresemester='1'

10)查询所有选课的学生学号

selectdistinctsno

fromstudent_course

11)查询籍贯为河北保定的学生的学号和姓名

selectsno,sname

fromstudent

wherenative='河北保定'

12)查询课程学分小于3分的课程名称

selectcname

fromcourse

wherecredit<3

13)查询在c201教室上课的教师编号

selectdistincttno

fromteacher_course

whereclassroom='c201'

14)查询软件学院的办公电话

selectdtel

fromdepartment

wheredname='软件学院'

15)查询学生成绩在60-90分的学生的学号和课程号

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2