数据库sql练习题

合集下载

数据库的sql语句练习题

数据库的sql语句练习题

数据库的sql语句练习题数据库的SQL语句练习题数据库是计算机领域中非常重要的一部分,它用于存储和管理大量的数据。

而SQL(Structured Query Language)则是用于操作数据库的标准语言。

掌握SQL 语句的使用对于数据库的管理和查询至关重要。

下面将给出一些SQL语句的练习题,帮助读者巩固和提升SQL的应用能力。

1. 创建表格假设我们需要创建一个学生表格,其中包含学生的学号、姓名、年龄和性别等字段。

请写出创建该表格的SQL语句。

```CREATE TABLE students (student_id INT PRIMARY KEY,name VARCHAR(50),age INT,gender VARCHAR(10));```2. 插入数据现在我们已经创建了学生表格,接下来需要往表格中插入一些数据。

请写出插入两条学生记录的SQL语句。

```INSERT INTO students (student_id, name, age, gender)VALUES (1, '张三', 20, '男');INSERT INTO students (student_id, name, age, gender)VALUES (2, '李四', 22, '女');```3. 更新数据假设学生张三的年龄发生了变化,需要将其年龄更新为21岁。

请写出更新该学生记录的SQL语句。

```UPDATE studentsSET age = 21WHERE student_id = 1;```4. 删除数据假设学生李四已经毕业离校,需要从学生表格中删除其记录。

请写出删除该学生记录的SQL语句。

```DELETE FROM studentsWHERE student_id = 2;```5. 查询数据现在我们已经创建了学生表格并插入了一些数据,接下来需要进行一些查询操作。

数据库SQL语句练习题含答案

数据库SQL语句练习题含答案

SQL语句练习练习5. 1. 2: 基于不断滚动的电影数据库的实例:Movie( 电影名title,拍摄年代year ,长度length, inColor ,制片厂名studioName, 制片人证书号producerC# )StarsIn(电影名movieTitle,拍摄年份movieYear ,影星名starName) MovieStar (姓名name,地址address,性别gender ,生日birthdate) MovieExec( 姓名name,地址address ,证书号cert # ,净资产netWorth ) Studio(姓名name, 地址address,总裁证书号presC# )请写出下列SQL 查询语句:* ( a) 找出米高梅制片公司(MGM studios)的地址。

SELECT address AS Studio_AddressFROM Studio WHERE name = 'MGM';( b) 找出桑德拉·布洛克( Sandra Bullock ) 的出生日期( birthdate) 。

SELECT birthdate AS Star_BirthdateFROM MovieStar WHERE name = 'Sandra Bullock';* ( c) 找出在1980 年拍摄过电影的所有影星, 或者拍摄过电影名中含有“Love”的电影的所有影星。

SELECT starName FROM StarsInWHERE movieYear = 1980 OR movieTitle LIKE '%Love%';( d) 找出净资产至少1 000 万美元的所有行政长官。

SELECT name AS Exec_NameFROM MovieExec WHERE netWorth >= 10000000;( e) 找出所有的男影星或者是住址中含有Malibu 的影星。

SQL练习题,非题库

SQL练习题,非题库

SQL练习题,非题库选择题1. 取出关系中的某些列,并消去重复的元组的关系运算称为(投影运算)。

2. 在学生数据库中,用SQL语句列出所有女生的姓名,应该对学生关系进行(选择和投影)操作。

3. 公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是(多对一)。

4. 在一个关系中,不能有相同的(属性)。

5. (数据库管理系统)是位于用户与操作系统之间的一层数据管理软件。

6. 数据库系统不仅包括数据库本身,还要包括相应的硬件,软件和(各类相关人员)。

7. SQL语言属于(据有关系代数和关系演算双重特点的语言)。

8. SQL Server采用的体系结构是(单进程、多线程)。

9. SQL语言是(结构化查询语言)。

10.SQL语言最主要功能是(数据查询)。

11.SQL Server2005在安装之前,应注意的事项是(SQL Server2005在安装之前,必须在操作系统级启用TCP/IP)。

12.下列关于身份验证模式叙述正确的是(只有Windows的当前用户才可选择Windows身份验证模式)。

13.在连接SQL Server时需要提供用户名和密码的身份验证模式是(SQL Server身份验证)。

14.在连接到数据库引擎时,有两种连接认证方式,其中在(SQL Server身份验证)方式下,需要客户端提供登录时需要的用户名和密码。

15.下列(pubs)不是SQL Server2005的系统数据库。

16.关于数据库事务日志文件叙述错误的是(如果未指定事务日志文件的增长量,则文件大小保持不变)。

17.每个数据库有且只能有一个(主数据文件)。

18.下面(队列、约束)不是SQL Server2005数据库对象。

19.如果数据库中的数据量非常大,除了将数据存储在主数据文件中,还可以将一部分数据存储在(次数据文件)。

20.用以交互地设计和测试T-SQL语句的是(查询命令窗口)。

数据库sql查询语句练习4_习题_结果(单世民)图书_习题

数据库sql查询语句练习4_习题_结果(单世民)图书_习题

数据库sql查询语句练习4_习题_结果(单世民)图书_习题现有图书管理数据库的三个关系模式:图书(总编号, 分类号, 书名, 作者, 出版单位, 单价)读者(借书证号, 单位, 姓名, 性别, 职称, 地址)借阅(借书证号, 总编号, 借书⽇期)具体数据为:读者:根据以上描述,请完成:DDL1.写出创建上述表的语句命令:create table图书(总编号varchar(7)primary key,分类号varchar(8),书名varchar(18),作者varchar(8),出版单位varchar(18),单价float)create table读者(借书证号varchar(4)primary key,单位varchar(7),姓名varchar(8),性别varchar(2),职称varchar(8),地址varchar(18))create table借阅(借书证号varchar(3),总编号varchar(6),借书⽇期date,primary key(借书证号,总编号,借书⽇期))DML2.给出插⼊上述数据的insert语句命令:insert into图书values('445501','TP3/12','数据库导论','王强','科学出版社', insert into图书values('445502','TP3/12','数据库导论','王强','科学出版社', insert into图书values('445503','TP3/12','数据库导论','王强','科学出版社', insert into图书values('332211','TP5/10','计算机基础','李伟','⾼等教育出版社', insert into图书values('112266','TP3/12','FoxBASE','张三','电⼦⼯业出版社', insert into图书values('665544','TS7/21','⾼等数学','刘明','⾼等教育出版社', insert into图书values('114455','TR9/12','线性代数','孙业','北京⼤学出版社', insert into图书values('113388','TR7/90','⼤学英语','胡玲','清华⼤学出版社', insert into图书values('446601','TP4/13','数据库基础','马凌云','⼈民邮电出版社',insert into图书values('446602','TP4/13','数据库基础','马凌云','⼈民邮电出版社',insert into图书values('446603','TP4/13','数据库基础','马凌云','⼈民邮电出版社',insert into图书values('449901','TP4/14','FoxPro⼤全','周虹','科学出版社', insert into图书values('449902','TP4/14','FoxPro⼤全','周虹','科学出版社', insert into图书values('118801','TP4/15','计算机⽹络','黄⼒钧','⾼等教育出版社',insert into图书values('118802','TP4/15','计算机⽹络','黄⼒钧','⾼等教育出版社',insert into读者values('111','信息系','王维利','⼥','教授','1号楼')insert into读者values('112','财会系','李⽴','男','副教授','2号楼')insert into读者values('113','经济系','张三','男','讲师','3号楼')insert into读者values('114','信息系','周华发','男','讲师','1号楼')insert into读者values('115','信息系','赵正义','男','⼯程师','1号楼')insert into读者values('116','信息系','李明','男','副教授','1号楼')insert into读者values('117','计算机系','李⼩峰','男','助教','1号楼')insert into读者values('118','计算机系','许鹏飞','男','教授','1号楼')insert into读者values('119','计算机系','刘⼤龙','男','副教授','4号楼') insert into读者values('120','国际贸易','李雪','男','副教授','4号楼') insert into读者values('121','国际贸易','李爽','⼥','讲师','4号楼') insert into读者values('122','国际贸易','王纯','⼥','讲师','4号楼') insert into读者values('123','财会系','沈⼩霞','⼥','助教','2号楼') insert into读者values('124','财会系','朱海','男','讲师','2号楼')insert into读者values('125','财会系','马英明','男','副教授','2号楼')insert into借阅values('112','445501','1997-3-19')insert into借阅values('125','332211','1997-2-12')insert into借阅values('111','445503','1997-8-21')insert into借阅values('112','112266','1997-3-14')insert into借阅values('114','665544','1997-10-21')insert into借阅values('120','114455','1997-11-2')insert into借阅values('120','118801','1997-10-18')insert into借阅values('119','446603','1997-12-12')insert into借阅values('112','449901','1997-10-23')insert into借阅values('115','449902','1997-8-21')insert into借阅values('118','118801','1997-9-10')单表查询3.找出姓李的读者姓名和所在单位命令:select姓名,单位from读者where姓名like'李%'结果:4.列出图书库中所有藏书的书名以及出版单位命令:select distinct书名,出版单位from图书结果:5.查找出⾼等教育出版社的所有图书及单价,结果按单价降序排列命令:select distinct书名,单价from图书where出版单位='⾼等教育出版社' order by单价desc结果:6.查找出价格位于10元和20元之间的图书种类,结果按出版单位和单价升序排序命令:select*from图书where单价between 10 and 20 order by出版单位,单价结果:7.找出书名以“计算机”打头的所有图书和作者命令:select distinct书名,作者from图书where书名like'计算机%'结果:8.检索同时接借阅了总编号为112266和449901两本书的借书证号命令:select借书证号from借阅where总编号='112266'intersect select借书证号from借阅where总编号='449901'结果:9.求科学出版社图书的最⾼单价、最低单价和平均单价命令:select MAX(单价)最⾼单价,MIN(单价)最低单价,AVG(单价)平均单价from 图书where出版单位='科学出版社'结果:聚合查询10.找出藏书中各个出版社的册数、价值总额命令:select出版单位,COUNT(*)册数,SUM(单价)价值总额from图书group by 出版单位结果:11.求出各个出版社图书的最⾼价格、最低价格和册数命令:select出版单位,COUNT(*)册数,max(单价)最⾼价格,MIN(单价)最低价格from图书group by出版单位结果:多表查询12.查找所有借了书的读者的姓名以及所在单位命令:select distinct姓名,单位from读者join借阅on读者.借书证号=借阅.借书证号结果:13.找出李某所借图书的所有图书的书名及借书⽇期命令:select姓名,书名,借书⽇期from读者join借阅on读者.借书证号=借阅.借书证号join图书on借阅.总编号=图书.总编号where 姓名like'李%'结果:14.查询1997年10⽉以后借书的读者借书证号、姓名和单位命令:select distinct读者.借书证号,姓名,单位from借阅join读者on借阅.借书证号=读者.借书证号whereDATEDIFF(MONTH,'1977-10-1',借书⽇期)>=0结果:15.找出借阅了FoxPro⼤全⼀书的借书证号命令:select借书证号from借阅join图书on借阅.总编号=图书.总编号where 书名='FoxPro⼤全'结果:16.分别找出借书⼈次超过1⼈次的单位及⼈次数命令:select单位,COUNT(*)⼈次数from借阅join读者on借阅.借书证号=读者.借书证号group by单位having COUNT(*)>1结果:⼦查询17.找出与赵正义在同⼀天借书的读者姓名、所在单位以及借书⽇期命令:select姓名,单位,借书⽇期from读者join借阅on读者.借书证号=借阅.借书证号where借书⽇期=(select借书⽇期from借阅join读者on借阅.借书证号=读者.借书证号where姓名='赵正义')结果:18.查询1997年7⽉以后没有借书的读者借书证号、姓名以及单位命令:select借书证号,姓名,单位from读者except select借阅.借书证号,姓名,单位from借阅join读者on借阅.借书证号=读者.借书证号where DATEDIFF(DAY,'1997-7-1',借书⽇期)>=0结果:19.求信息系当前借阅图书的读者⼈次数命令:select COUNT(*)⼈次数from借阅join读者on借阅.借书证号=读者.借书证号where单位='信息系'结果:20.找出当前⾄少借阅了2本书的读者及所在单位命令:select姓名,单位from借阅join读者on借阅.借书证号=读者.借书证号group by读者.姓名,单位having COUNT(*)>=2结果:21.查询经济系是否还清所有图书。

sql数据库练习题

sql数据库练习题

第一讲1、什么是数据管理?答:对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题。

2、在数据库的三个模式中( C )。

A.内模式只有一个,而模式和外模式可以有多个B.模式只有一个,而模式和外模式可以有多个C.模式和内模式只有一个,而外模式可以有多个D.模式、内模式和外模式均只有一个3、学生社团可以接纳多名学生参加,但每个学生只能参加一个社团,从社团到学生之间的联系类型是( D )A.多对多B.一对一C.多对一D.一对多4、储蓄所有多个储户,一个储户可以在多个储蓄所存取款,储蓄所和储户之间的联系类型是:AA.多对多B.一对一C.多对一D.一对多5、学生、系、系与学生之间的一对多联系:学生(学号,姓名,年龄,性别,系号,年级)系(系号,系名,办公地点)6、系、系主任、系与系主任间的一对一联系联系隐含在关系内部:系(系号,系名,办公地点)系主任(教师编号,姓名,年龄,性别,所在系号)第四讲1、什么是关系数据库?答:关系数据库(P18):所谓关系数据库就是采用关系模型作为数据的组织方式,换名话说就是支持关系模型的数据库系统。

2、关系数据的操作语言有哪几类,分别是什么?答:(1)、关系代数(2)、关系演算(3)、SQL语言3、关系数据的完整性约束分别是什么?答:(1)、实体完整性(2)、参照完整性(3)、用户定义完整性4、什么是码及候选码?并找出下述关系中的候选码。

答:(1)、码(P20):在关系的各个属性中,能够用来惟一标识一个元组的属性或属性组。

(2)、候选码(P20):若在一个关系中,某一个属性或属性组的值能唯一地标识该关系的元组,而真子集不行,则称该属性或属性组为候选码。

(3)、该关系的候选码为:职工编号,身份证号。

5、关系数据操作的对象和结果都是什么?答:集合6、给出三个域:D1=SUPERVISOR ={ 张清玫,刘逸}D2=SPECIALITY={计算机专业,信息专业}D3=POSTGRADUATE={李勇,刘晨,王敏}则D1,D2,D3的笛卡尔积为:D1×D2×D3 ={(张清玫,计算机专业,李勇),(张清玫,计算机专业,刘晨),(张清玫,计算机专业,王敏),(张清玫,信息专业,李勇),(张清玫,信息专业,刘晨),(张清玫,信息专业,王敏),(刘逸,计算机专业,李勇),(刘逸,计算机专业,刘晨),(刘逸,计算机专业,王敏),(刘逸,信息专业,李勇),(刘逸,信息专业,刘晨),(刘逸,信息专业,王敏) }7、现有关系表:学生(宿舍编号,宿舍地址,学号,姓名,性别,专业)的主键为:BA宿舍编号B学号C宿舍地址,姓名D宿舍编号,学号8、现有关系表:医疗(患者编号,医生编号,医生姓名,诊断日期,诊断结果,恢复情况)的主键是:AA患者编号,医生编号,诊断日期B医生编号C诊断日期D患者编号9、现有如下关系:职工(职工号、姓名、性别、职务、部门编号)部门(部门编号、部门名称、姓名、部门地址、电话)其中,职工关系中的外键是(A)A部门编号B姓名C职工号D职工号,姓名10、关系数据库(实体完整性规则)规定元组在组成主码的属性上不能取空值。

数据库的sql语句练习题

数据库的sql语句练习题

数据库的sql语句练习题1. 练习题一:查询语句基础在学生表(students)中,包含以下字段:学号(id)、姓名(name)、年龄(age)、性别(gender)、班级(class)、成绩(score)。

请编写SQL语句实现以下需求:a) 查询学生表中所有学生的信息。

b) 查询学生表中的男性学生信息。

c) 查询学生表中年龄为18岁的学生信息。

d) 查询学生表中成绩大于等于90分的学生信息。

e) 查询学生表中姓“张”的学生信息。

2. 练习题二:修改语句练习在学生表(students)中,某个学生的学号为1001,需要将该学生的年龄修改为20岁,请编写相应的SQL语句实现此操作。

3. 练习题三:插入语句练习在学生表(students)中添加一条新纪录,学号为1002,姓名为李明,年龄为19岁,性别为男,班级为三年级,成绩为87分,请编写相应的SQL语句实现此操作。

4. 练习题四:删除语句练习在学生表(students)中,某个学生的学号为1003,需要将该学生的信息从表中删除,请编写相应的SQL语句实现此操作。

5. 练习题五:使用多表查询存在两张表,学生表(students)和课程表(courses)。

学生表包含字段:学号(id)、姓名(name)、班级(class);课程表包含字段:课程编号(course_id)、课程名称(course_name)。

已知约德尔学院中,学号为1001的学生参加了编号为1的课程,请编写SQL语句查询学号为1001的学生所选的课程及课程名称。

6. 练习题六:排序查询练习在学生表(students)中,查询所有学生的信息,并按照成绩从高到低进行排序。

以上是数据库的SQL语句练习题,请按照上述要求编写相应的SQL语句进行解答。

祝你练习愉快,取得好成绩!。

SQL数据库考试试题

SQL数据库考试试题

1SQL数据库试题一、单项选择题(每小题1分,共10分)1.下列四项中,不属于数据库特点的是( C )。

A.数据共享B.数据完整性C.数据冗余很高D.数据独立性高2.下列四项中,不属于SQL2000实用程序的是( D )。

A.企业管理器B.查询分析器C.服务管理器D.媒体播放器3.SQL Server安装程序创建4个系统数据库,下列哪个不是( C )系统数据库。

A.masterB.modelC.pubD.msdb4.( A )是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。

数据库在建立、使用和维护时由其统一管理、统一控制。

A.DBMS B.DBC.DBS D.DBA5. 在SQL中,建立表用的命令是 ( B )。

A.CREATE SCHEMAB.CREATE TABLEC.CREATE VIEWD.CREATE INDEX6.SQL语言中,条件年龄 BETWEEN 15 AND 35表示年龄在15至35之间,且( A )。

A.包括15岁和35岁B.不包括15岁和35岁C.包括15岁但不包括35岁D.包括35岁但不包括15岁7.下列四项中,不正确的提法是( C )。

2A.SQL语言是关系数据库的国际标准语言B.SQL语言具有数据定义、查询、操纵和控制功能C.SQL语言可以自动实现关系数据库的规范化D.SQL语言称为结构查询语言8.在MS SQL Server中,用来显示数据库信息的系统存储过程是( D )。

A.sp_dbhelpB. sp_dbC. sp_helpD. sp_helpdb9.SQL语言中,删除表中数据的命令是( A )。

A.DELETEB. DROPC. CLEARD. REMOVE10.SQL的视图是从( C )中导出的。

A.基本表B. 视图C. 基本表或视图D. 数据库SQL数据库试题2一、单项选择题(每小题1分,共10分)4. 下列哪个不是sql 数据库文件的后缀。

数据库SQL练习题

数据库SQL练习题

数据库应用(SQL Server)练习题一题:单选1. 在Transact-SQL中,下列命令能让程序完全跳出循环的是( C )。

(A) CASE (B) WAIT (C) BREAK (D) CONTINUE2. 在SQL SERVER 2008中,不能恢复的操作是( D )。

(A) DELETE (B) UPDATE (C) INSERT (D) TRUNCATE TABLE3. 在SQL SERVER 2008中,默认的事务隔离级别是(A )。

(A) READ COMMITTED (B) READ UNCOMMITTED (C) REPEATABLE READ (D) SERIALIZABLE4. 当对关系R和S使用自然联接时,一般要求R和S至少含有一个共同的(D )。

(A) 元组(B) 关键字(C) 记录(D) 属性5. 若关系模式R(A,B,C,D,E)上的函数依赖集F={AB->C,A->D,A->E},为了满足BCNF,可以将R分解为( B )。

(A) R1(A,B,C,D) R2(A,E) (B) R1(A,B,C) R2(A,D,E)(C) R1(A,B,C) R2(D,E) (D) R1(A,B) R2(A,C,D,E)6. SQL语言查询一次的结果是一个(B )。

(A) 元组(B) 表(C) 属性(D) 数据库7. 在关系模式R(U,F)中,如果X→Y,且存在X的真子集X1,使X1→Y,则称函数依赖X→Y为(B )。

(A) 平凡函数依赖(B) 部分函数依赖(C) 完全函数依赖(D) 传递函数依赖8. 如果删除表中的数据,而不删除表,应使用的选项是(A )。

(A) DELETE (B) DROP (C) UNION (D) REMOVE9. 下列关于DELETE语句的说法中错误的是(D )。

(A) DELETE语句可以删除一行数据(B) DELETE语句可以删除表中所有数据(C) DELETE语句可以带有子查询(D) DELETE语句可以删除多个表中的数据10. 下列选项中,可以正确表达姓“张”的通配符是(B )。

sql参考题(单项选择题)

sql参考题(单项选择题)

sql参考题(单项选择题)一、单项选择1、create table emp(empno char(10) primary key ,deptno char(10) foreign key reference dept(deptno));根据这一定义可知___B___。

A、' dept不能引用emp中不存在的deptnoB、emp不能引用dept中不存在的deptnoC、dept中删除记录时,emp中记录跟着删除D、emp中不可以插入dept中不存在的empno2、E-R方法的三要素是( C )。

A、实体、属性、实体集B、实体、键、联系C、实体、属性、联系D、实体、域、候选键单选3、SQL 语言中视图(view)对应数据库系统三级模式结构中的( C )。

A、内模式B、模式C、外模式D、都不对4、SQL语言最主要功能是( C )。

A、数据定义功能B、数据管理功能C、数据查询D、数据控制5、集合R与S的交可以用关系代数的5种基本运算表示为( A )。

A、R-(R-S)B、σF(R×S)C、空D、06、视图最主要的优点是什么? (A)A、提高数据的逻辑独立性B、提高查询效率C、操作灵活D、节省存储空间7、数据的正确、有效和相容称之为数据的( B )。

A、安全性B、一致性C、独立性D、完整性8、数据库系统不仅包括数据库本身,还要包括相应的硬件,软件和什么_?(D)A、数据库管理系统B、数据库应用系统C、相关的计算机系统D、各类相关人员9、数据库中只存放视图的( C )。

A、操作B、对应的数据C、定义D、限制10、下述哪一条是并发控制的主要方法( B )。

A、授权B、封锁C、日志D、索引11、与WHERE grade not in (60,100)语句等价的子句是( B )。

A、WHERE grade!=60 AND grade<100B、WHERE grade!=60 AND grade!=100C、WHERE grade!=60 or grade!=100D、WHERE grade<60 OR grade>10012、SQL 语言的GRANT,REVOKE语句主要用来维护数据库的( D )。

数据库作业(SQL 练习)

数据库作业(SQL 练习)

创建如下表:
学生基础表Student由学号(student_id)、姓名(student_ame)、性别(sex)、年龄(age)、所在系(sbjec 课程表Course由课程号(cource_id)、课程名(course_name)、学分(cource_credit)组成
学生成绩表StudScoreInfo由学号(student_id)、课程号(course_id)、成绩(score)组成
学校专业系代码表subject由由系代码(subject_id)和系名称(subject_name)组成
各表数据如下
1、用SQL语句完成创建表,并插入所有数据
2、使用关联子查询,求出每个系同学个数;输出 系代码,系名称,学生个数
3、列出每个学生的总分。

要求格式 学号,姓名,系名称,总分
4、列出每个课程最高分的获得者。

输出列:课程号,课程名,学号,姓名,成绩
5、列出文学系的学生选修的所有课程,及其平均分。

输出列:课程号,课程名,平均分
6、列出获得总学分超过4分的学生,成绩>=60分,才能获得该课程的学分。

输出列:学号,姓名,总学分
7、列出选修了所有课程的学生。

输出列:学号,姓名,
8、列出至少选修了语文和数学的所有学生。

输出列:学号,姓名
age)、所在系(sbject_id)组成
,姓名,总学分。

学生选课数据库SQL语句练习题(详细分解答案)

学生选课数据库SQL语句练习题(详细分解答案)

一、设有一数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。

四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表(一)~表(四)所示。

用SQL语句创建四个表并完成相关题目。

表1-1数据库的表结构表(一)Student属性名数据类型可否为空含义Sno Char(3)否学号(主键)Sname Char(8)否学生姓名Ssex Char(2)否学生性别Sbirthday datetime可学生出生年月Class Char(5)可学生所在班级表(二)Course属性名数据类型可否为空含义Cno Char(5)否课程号(主键)Cname Varchar(10)否课程名称Tno Char(3)否教师编号(外键)表(三)Score属性名数据类型可否为空含义Sno Char(3)否学号(外键)Cno Char(5)否课程号(外键)Degree Decimal(4,1)可成绩主码:Sno+ Cno表(四)Teacher含义属性名数据类型可否为空Tno Char(3)否教师编号(主键)Tname Char(4)否教师姓名Tsex Char(2)否教师性别Tbirthday datetime可教师出生年月Prof Char(6)可职称Depart Varchar(10)否教师所在部门表1-2数据库中的数据表(一)StudentSno Sname Ssex Sbirthday class95033108曾华男1977-09-01105匡明男1975-10-950310295033107王丽女1976-01-2395033101李军男1976-02-20109王芳女1975-02-950311095031103陆君男1974-06-03表(二)CourseCno Cname Tno3-105计算机导论8253-245操作系统8046-166数字电路8569-888高等数学831表(三)ScoreSno Cno Degree1033-245861053-245751093-245681033-105921053-105881093-105761013-105641073-105911083-105781016-166851076-166791086-16681表(四)TeacherTno Tname Tsex Tbirthday Prof Depart804李诚男1958-12-02副教授计算机系856张旭男1969-03-12讲师电子工程系825王萍女1972-05-05助教计算机系831刘冰女1977-08-14助教电子工程系-- 1、查询Student表中的所有记录的Sname、Ssex和Class列。

SQL数据库试题

SQL数据库试题

数据库试题3一、选择题1.下面哪个范式不是关系模型中的范式(C)A、第一范式B、第二范式C、范德蒙范式D、BCNF范式2.SQL Server 2000不包含以下哪个版本(B)A、SQL Server 2000 企业版(Enterprise Edition)B、SQL Server 2000 专业版(Professional Edition)标准版C、SQL Server 2000 个人版(Personal Edition)D、SQL Server 2000 开发版(Developer Edition)3.下面哪一项不属于T-SQL语言的组成部分(B)A、数据定义语言(DDL)B、数据查询语言(DFL)C、数据操纵语言(DML)D、数据控制语言(DCL)4.下面哪个不是SQL Server数据库的系统数据类型(C)A、int、smallintB、char、varcharC、String、charD、datetime、int5.下面关于SQL Server数据库中变量的描述,不正确的是(C )A、SQL Server中变量可分为全局变量和局部变量两大类。

B、全局变量由系统提供且预先声明,通过在名称前加两个”@”符号区别于局部变量。

C、不用SELECT语句给变量赋值D、在批处理或存储过程中使用DECLARE语句声明局部变量6.下面程序的运行结果为(B)DECLARE @var1 int, @var2 intSET @var1 = 200SET @var2 = 100IF @var1 < @var2PRINT '@var1的值小于@var2的值'ELSEBEGINPRINT '执行SQL语句块'PRINT '@var1的值大于@var2的值'ENDGOA、@var1的值大于@var2的值B、执行SQL语句块@var1的值大于@var2的值C、@var1的值小于@var2的值D、@var1的值小于@var2的值执行SQL语句块@var1的值大于@var2的值7.下面哪个不是SQL Server数据库中的聚合函数(C)A、COUNTB、SUM和AVGC、CONVERTD、MAX和MIN8.下面哪个不是SQL Server2000数据库对象(B)A、表、视图B、队列、约束C、索引、存储过程D、触发器、约束9.下面哪个不是SQL Server 2000中的系统数据库()A、master数据库B、tempdb数据库C、PetStoreDB数据库D、model数据库10.关于下面创建数据库的脚本,描述不正确的是(C )CREATE DATABASE OPCDBON( NAME = 'OPCDB_Data',FILENAME = 'D:\Microsoft SQL Server\MSSQL\Data\OPCDB.mdf', SIZE = 3MB,MAXSIZE = 50MB,FILEGROWTH = 10%)LOG ON( NAME = 'OPCDB_Log',FILENAME = 'D:\Microsoft SQL Server\MSSQL\Data\OPCDB.ldf', SIZE = 2MB,MAXSIZE = 5MB,FILEGROWTH = 1MB)GOA、数据库的名称为OPCDBB、数据库的数据文件的物理路径为:D:\Microsoft SQLServer\MSSQL\Data\OPCDB.mdfC、日志文件可有可无D、数据文件的初始大小为3MB11.在SQL语言中删除数据表的命令为(C)A、DELETE TABLEB、CREATE TABLEC、DROP TABLED、ALTER TABLE12.下列哪个不是SQLServer数据库约束类型(B)A、主关键字约束、默认约束B、外关健字约束、条件约束C、唯一性约束、默认约束D、检查约束、外关健字约束13.下表是login表的相关信息userNamepasswordfirstfirstsecondsecond代码“select * from login where userName = …first‟”的执行结果是(C )A、first firstB、second secondsecondsecondC、first firstD、first second代码“select count(*) from login”的执行结果是( B )A、1B、2C、3D、414.关于子查询的描述不正确的是(C)A、使用IN(或NOT IN)的子查询返回的查询结果是一列零值或更多值。

sql数据库期末考试题及答案完整版

sql数据库期末考试题及答案完整版

s q l 数据库期末考试题及答案HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】一、单选题(共一、单选题(共 10 10 道试题,共道试题,共道试题,共 50 50 分。

)分。

)分。

)V 1. SQL Server V 1. SQL Server 中,保存着每个数据库对象的信息的系统表是(的系统表是( C C )。

)。

)。

A. sysdatabases B. Syscolumns C. Sysobjects D. Syslogs 2. 在存在下列关键字的在存在下列关键字的SQL 语句中,不可能出现Where 子句的是(子句的是(D D )。

)。

A. UpdateB. DeleteC. InsertD. Alter 3. 在查询语句的在查询语句的Where 子句中,如果出现了“子句中,如果出现了“age Between 30 and 40age Between 30 and 40”,这个表达式等同于(A )。

)。

A. age>=30 and age<=40 B. age>=30 or age<=40 C. age>30 and age<40 D. age>30 or age<40 4. 如果要在一张管理职工工资的表中限制工资的输入范围,应使用(如果要在一张管理职工工资的表中限制工资的输入范围,应使用(如果要在一张管理职工工资的表中限制工资的输入范围,应使用(D D )约束。

)约束。

A. PDRIMARY KEY B. FOREIGN KEY C. unique D. check 5. 记录数据库事务操作信息的文件是(记录数据库事务操作信息的文件是(记录数据库事务操作信息的文件是(D D )。

)。

A. 数据文件数据文件 B. 索引文件索引文件 C. 辅助数据文件辅助数据文件 D. 日志文件日志文件 6. 要查询要查询XSH 数据库CP 表中产品名含有“冰箱”的产品情况,可用(表中产品名含有“冰箱”的产品情况,可用( C C )命令。

sql数据库原理习题集(带答案)

sql数据库原理习题集(带答案)

#include <stdio.h>void main(){int b,i,c=0,a[30];scanf("%d",&b);while(b!=0){i=b%2;a[c]=i;c++;b=b/2;}for(;c>=1;c--){printf("%d",a[c-1]);}printf("\n");}数据库原理模拟试卷(1)一、项选择题(在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。

每小题1分,共15分)1.数据库系统的体系结构是(C )A、两级模式结构和一级映象B、三级模式结构和一级映象C、三级模式结构和两级映象D、三级模式结构和三级映象2.SQL语言称为(C )。

A、结构化定义语言B、结构化控制语言C、结构化查询语言D、结构人操纵语言3.在视图上不能完成的操作是(D)。

A、在视图上定义新的视图B、查询操作C、更新视图D、在视图上定义新的基本表4.数据库的并发操作有可能带来的三个问题中包括(D)。

A、数据独立性降低B、无法读出数据C、权限控制D、丢失更新5.当前应用最广泛的数据模型是(B)。

A、ER模型B、关系模型C、网状模型D、层次模型16.现有一个关系:借阅(书号、书名,库存数,读者号,借期,还期),假如同一本书允许一个读者多次借阅,但不能同时对一种书借多本。

则该关系模式的码是(D )。

A、书号B、读者号C、书号+读者号D、书号+读者号+借期7.要保证数据库物理数据独立性,需要修改的是( B )A.模式B.模式与内模式的映射C.模式与外模式的映射D.内模式8.下列四项中,不属于数据库特点的是( D )A.数据共享B.数据完整性C.数据冗余较小D.数据独立性低9.数据库中存储的是( D )A.数据B.数据模型C.数据之间的联系D.数据以及数据之间的联系10.反映现实世界中实体及实体间联系的信息模型是( D )A.关系模型B.层次模型C.网状模型D.E—R模型11. 五种基本关系代数运算是( a)A. ∪,-,×,π和σB. ∪,-,∞,π和σC. ∪,∩,×,π和σD. ∪,∩,∞,π和σ12.数据库保护的几个方面中,不包括的是( A )A.控制数据冗余B.并发控制C.完整性保护D.故障恢复13.下列四项中,关系规范化程度最高的是关系满足( B )A.非规范关系B.第三范式C.第二范式D.第一范式14.单个用户使用的数据视图的描述称为(a )A.外模式B.概念模式C.内模式D.存储模式15. 子模式DDL用来描述( b )A.数据库的总体逻辑结构B.数据库的局部逻辑结构C.数据库的物理存储结构D.数据库的概念结构二、填空题(每空1分,共15分)1、在三大传统的数据模型中,具有严格的数学理论基础的是_关系模型___。

SQL课后练习题(1-9章答案)

SQL课后练习题(1-9章答案)

第一章1、数据完整性是指( D )A.数据库存中的数据不存在重复B.数据库中所有的数据格式是一样的C.所有的数据全部保存在数据库中D.数据库中的数据能够正确反映情况2、SQL中pubs数据库属于(A )A.用户数据库B.系统数据库C.数据库模板D.数据库管理系统3、数据冗余指的是( D )A.数据与数据之间没有联系B.数据有丢失C.数据量太大D.存在重复的数据4、SQL Server数据库的主数据文件的扩展名为( B )A. .sqlB. .mdfC. .mdbD. .ldf5、下列关于关系数据库叙述错误的是(B )A.关系数据库的结构一般保持不变,但也可根据需要进行改变B.一个数据表组成一个关系数据库,多种不同数据则需要创建多个数据库C. 关系数据库表中的所有记录的关键字字段的值互不相同D. 关系数据库表中的外部关键字不能用于区别该表中的记录6、创建数据库时,需要指定( C )属性。

A.数据库初始大小B.数据库的存放位置C.数据库的物理名和逻辑名D.数据库的访问权限7、以下说法正确的是( A )A.通过SQL Server服务器对SQL Server的启动、停止和通过服务管理器对SQL Server的启动、停止是同等功效B.必须先启动服务管理器中的SQL Server服务之后才能通过SQL Server服务管理器启动SQL ServerC.必须先通过SQL Server服务管理器启动SQL Server之后才能启动服务管理器中的SQL Server服务D.只能通过服务管理器对SQL S erver进行启动和停止8、SQL Server提供的4个系统数据库,以下说法正确的是( D )A.tempdb数据库是一个空数据库,完全可以删除B.adventure works是用来做模板的一个数据库C.msdb数据库是用来做例子的数据库D.创建新的空白数据库时,将使用Model数据库所规定的默认值9、以下说法错误的是(C)A.数据完整性是指存储在数据库中数据的准确性B.SQL Server是一个DBMSC.ERP、CRM、MIS等都是DBMSD.设计数据库时允许必要的冗余第二章1、创建银行的贷款情况表时,“还款日期”默认为当天,且必须晚于“借款日期”,应采用(A)约束。

sql数据库练习题参考答案

sql数据库练习题参考答案

第1章数据库基础练习题一、单项选择题1.C 2.A 3.C 4.D 5.D6.B 7.A 8.B 9.B 10.D11.C 12.A 13.C 14.B 15.A16.B 17.A 18.D 19.B 20.B21.A; D 22.A 23.C 24.D 25.B26.B 27.B 28.D 29.B 30.B二、填空题1.概念;数据2.属性3.码4.一对一联系;一对多(或多对一)联系;多对多联系5.候选码6.候选码7.关系名(属性1,属性2,…,属性n)8.关系数据结构;关系操作集合;关系完整性约束9.实体;参照;用户定义的;实体;参照10.空值11.需求分析阶段;概念结构设计阶段;逻辑结构设计阶段;物理结构设计阶段;数据库实施阶段;数据库运行和维护阶段12.准确了解并分析用户对系统的要求,尤其是用户的信息要求、处理要求、安全性与完整性要求,确定所要开发的应用系统的目标,产生用户和设计者都能接受的需求说明书,做为下一步数据库概念结构设计的依据。

13.将需求分析得到的用户需求抽象为信息结构即概念模型。

14.将概念结构进一步转化为某一DBMS支持的数据模型,并对其进行优化。

15.为逻辑数据模型选取一个最适合应用环境的物理结构,包括数据库在物理设备上的存储结构和存取方法。

三、指出以下各缩写的英文意思和中文意思1.DB:Database2.DBMS:Database Management System3.RDBMS:4.DBS:Database System5.DBA:Database Administrator6.NF:Normal Form7.DDL:Data Definition Language 四、按题目要求回答问题3.答:(1)关系R是2NF。

因为R的候选码为课程名,而课程名→教师名,教师名→教师地址,所以课程名→教师地址,即存在非主属性教师地址对候选码课程名的传递函数依赖,因此R不是3NF。

sql数据库理论考试题(含答案)

sql数据库理论考试题(含答案)

1 答案:A执行下列命令,use student ; use teacher ; use teacher; use student 最后哪个数据库被选中为当前数据库()A studentB teacherC 两个数据库都被选中,D 两个数据库都没被选中2 答案:B下面SQL语句DROP DA TABASE WSTS 的含义为()A 删除数据库WSTS 但是可以恢复B 删除数据库WSTS 不可以恢复。

C 创建一个名为WSTS的表D 删除一个名为WSTS的表3 答案:D下列语句的执行结果为:()USE SALESINSERT CUSTOMERS V ALUES(…JERRY‟,‟84312‟,‟322343242‟)A 给SALES数据库添加一个名为CUSTOMERS的表B 向SALES数据库里面所有的表添加一个记录。

C 删除SALES数据库里面名为CUSTOMERS的表D 向SALES数据库里的CUSTOMERS表添加一条记录4 答案:B删除CUSTOMERS 表中CUSTID=5 的记录的语句为()A DROP FROM CUSTOMERS WHERE CUSTID=5B DELETE FROM CUSTOMERS WHERE CUSTID=5C SELECT FROM CUSTOMERS WHERE CUSTID=5D DROP CUSTOMERS WHERE CUSTID=55 答案:A查看年龄为20的所有人的记录,SQL语句为()A SELECT * FROM CUSTOMERS WHERE AGE=20B DROP FROM CUSTOMERS WHERE AGE=20C SELECT FROM CUSTOMERS WHERE AGE=20D DELETE FROM CUSTOMERS WHERE CUSTID=56 答案:BEXEC sp_dboption …产品数据库‟ ,‟SINGLE USER‟,TrueEXEC sp_renam edb …产品数据库‟,‟product‟EXEC sp_dboption …product‟,‟SINGLE USER‟,False面三条语句的执行结果为()A 删除掉…产品数据库‟B 把…产品数据库‟改名为‟product‟C 删除掉…product‟D 把‟product‟改名为…产品数据库‟7 答案:A把user 表中凡是名字为‟jack‟的记录删除的语句为()A delet e * from user where name=”jack”B drop from user where name=”jack”C alter from user where name=”jack”D delete user where name=”jack”8 答案:ASELECT 所属部门,A VG(工资) AS 平均工资FROM 员工数据库。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

use test/*问题及描述:--1.学生表Student(S#,Sname,Sage,Ssex) --S# 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别--2.课程表Course(C#,Cname,T#) --C# --课程编号,Cname 课程名称,T# 教师编号--3.教师表Teacher(T#,Tname) --T# 教师编号,Tname 教师姓名--4.成绩表SC(S#,C#,score) --S# 学生编号,C# 课程编号,score 分数select * from Studentselect * from Courseselect * from Teacherselect * from SC*/--创建测试数据create table Student(S# varchar(10),Sname nvarchar(10),Sage datetime,Ssex nvarchar(10)) insert into Student values('01', N'赵雷','1990-01-01', N'男')insert into Student values('02', N'钱电','1990-12-21', N'男')insert into Student values('03', N'孙风','1990-05-20', N'男')insert into Student values('04', N'李云','1990-08-06', N'男')insert into Student values('05', N'周梅','1991-12-01', N'女')insert into Student values('06', N'吴兰','1992-03-01', N'女')insert into Student values('07', N'郑竹','1989-07-01', N'女')insert into Student values('08', N'王菊','1990-01-20', N'女')create table Course(C# varchar(10),Cname nvarchar(10),T# varchar(10))insert into Course values('01', N'语文','02')insert into Course values('02', N'数学','01')insert into Course values('03', N'英语','03')create table Teacher(T# varchar(10),Tname nvarchar(10))insert into Teacher values('01', N'张三')insert into Teacher values('02', N'李四')insert into Teacher values('03', N'王五')create table SC(S# varchar(10),C# varchar(10),score decimal(18,1))insert into SC values('01','01', 80)insert into SC values('01','02', 90)insert into SC values('01','03', 99)insert into SC values('02','01', 70)insert into SC values('02','02', 60)insert into SC values('02','03', 80)insert into SC values('03','01', 80)insert into SC values('03','02', 80)insert into SC values('03','03', 80)insert into SC values('04','01', 50)insert into SC values('04','02', 30)insert into SC values('04','03', 20)insert into SC values('05','01', 76)insert into SC values('05','02', 87)insert into SC values('06','01', 31)insert into SC values('06','03', 34)insert into SC values('07','02', 89)insert into SC values('07','03', 98)go--1、查询"01"课程比"02"课程成绩高的学生的信息及课程分数--1.1、查询同时存在"01"课程和"02"课程的情况select a.*, b.score [课程'01'的分数],c.score [课程'02'的分数] from Student a , SC b , SC c where a.S# = b.S# and a.S# = c.S# and b.C# ='01'and c.C# ='02'and b.score > c.score--1.2、查询同时存在"01"课程和"02"课程的情况和存在"01"课程但可能不存在"02"课程的情况(不存在时显示为null)(以下存在相同内容时不再解释)select a.*, b.score [课程"01"的分数],c.score [课程"02"的分数] from Student aleft join SC b on a.S# = b.S# and b.C# ='01'left join SC c on a.S# = c.S# and c.C# ='02'where b.score >isnull(c.score,0)--2、查询"01"课程比"02"课程成绩低的学生的信息及课程分数--2.1、查询同时存在"01"课程和"02"课程的情况select a.*, b.score [课程'01'的分数],c.score [课程'02'的分数] from Student a , SC b , SC c where a.S# = b.S# and a.S# = c.S# and b.C# ='01'and c.C# ='02'and b.score < c.score--2.2、查询同时存在"01"课程和"02"课程的情况和不存在"01"课程但存在"02"课程的情况select a.*, b.score [课程"01"的分数],c.score [课程"02"的分数] from Student aleft join SC b on a.S# = b.S# and b.C# ='01'left join SC c on a.S# = c.S# and c.C# ='02'where isnull(b.score,0)< c.score--3、查询平均成绩大于等于分的同学的学生编号和学生姓名和平均成绩select a.S# , a.Sname ,cast(avg(b.score)as decimal(18,2)) avg_scorefrom Student a , sc bwhere a.S# = b.S#group by a.S# , a.Snamehaving cast(avg(b.score)as decimal(18,2))>= 60order by a.S#--4、查询平均成绩小于分的同学的学生编号和学生姓名和平均成绩--4.1、查询在sc表存在成绩的学生信息的SQL语句。

select a.S# , a.Sname ,cast(avg(b.score)as decimal(18,2)) avg_scorefrom Student a , sc bwhere a.S# = b.S#group by a.S# , a.Snamehaving cast(avg(b.score)as decimal(18,2))< 60order by a.S#--4.2、查询在sc表中不存在成绩的学生信息的SQL语句。

select a.S# , a.Sname ,isnull(cast(avg(b.score)as decimal(18,2)),0) avg_scorefrom Student a left join sc bon a.S# = b.S#group by a.S# , a.Snamehaving isnull(cast(avg(b.score)as decimal(18,2)),0)< 60order by a.S#--5、查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩--5.1、查询所有有成绩的SQL。

相关文档
最新文档