SQL语言章节练习答案

合集下载

第3章SQL语言习题参考答案(新)

第3章SQL语言习题参考答案(新)

第3章 SQL语言习题参考答案1.试述SQL语言的特点。

(85页)答:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式、语言简捷,易学易用。

2.试述SQL的定义功能。

(87页)答:SQL的数据定义功能包括定义表、定义视图和定义索引3.用SQL语句建立第二章习题5中的四个表。

S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成:CREATE TABLE S(Sno C(2) UNIQUE,Sname C(6) ,Status N(2),City C(4))零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成:CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2),WEIGHT I(2))工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、所在城市(CITY)组成:CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8), CITY C(4))供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成:CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2), QTY N(2))4.针对上题中建立的四个表试用SQL语言完成第二章习题5中的查询:(1)求供应工程J1零件的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO=’J1’(2)求供应工程J1零件P1的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1' (3)求供应工程J1零件为红色的供应商号码SNO:SELECT SNO FROM SPJ,P WHERE JNO='J1' AND SPJ.PNO=P.PNO AND COLOR='红'(4)求没有使用天津供应商生产的红色零件的工程号JNO:SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE S.CITY='天津' AND COLOR='红' AND S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO)。

SQL练习题参考答案(2)

SQL练习题参考答案(2)

第2章 SQL Server简介练习题一、单项选择题1.B 2.C 3.D 4.B 5.C6.D 7.C 8.C 9.B 10.A11.B 12.B二、简答题1.答:客户-服务器结构把整个任务划分为客户机上的任务和服务器上的任务。

客户机上的任务只要有:●建立和断开与服务器的连接。

●提交数据访问请求。

●等待服务通告、接受请求结果或错误。

●处理数据库访问结果或错误、包括重发请求和终止请求。

●提供应用程序的友好用户界面。

●数据输入输出及验证。

服务器上的任务主要有:●为多用户管理一个独立的数据库。

●管理和处理接收到的数据访问请求,包括管理请求队列、管理缓存、响应服务、管理结果和通知服务完成。

●管理用户帐号、控制数据库访问权限和其他安全性。

●维护数据库,包括数据库备份和恢复。

保证数据库数据的完整或为客户提供完整性控制手段。

2.答:(1)两层结构在两层结构中,SQL Server 2000安装在一个中心服务器上,数据库存储在该服务器上,该服务器称为数据库服务器,可以被多台客户机访问。

众多的客户机通过网络直接访问数据库服务器。

客户机运行处理业务的程序和显示处理结果的程序。

两层结构比较适合于用户量较少的情况,当用户量较大时,数据库服务器的性能会显著下降。

(2)三层结构在三层结构中引入了一层应用服务器。

客户机只运行向应用服务器发送请求和显示请求结果的程序,客户机没有处理业务的程序,应用服务器运行处理业务的程序,多个客户机可以同时访问应用服务器,应用服务器负责访问数据库服务器,并取回处理结果,将结果返回给客户机。

三层结构适用于客户量较大的情况。

3.答:SQL Server 2000的四个系统数据库是master、model、msdb和tempdb数据库。

(1)master数据库是SQL Server系统最重要的数据库,它记录了SQL Server系统的所有系统信息,包括所有的登录帐户信息、系统配置信息、SQL Server的初始化信息和其它系统及用户数据库的相关信息。

SQL语言习题参考答案(新)

SQL语言习题参考答案(新)

第3章 SQL语言习题参考答案1.试述SQL语言的特点。

(85页)答:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式、语言简捷,易学易用。

2.试述SQL的定义功能。

(87页)答:SQL的数据定义功能包括定义表、定义视图和定义索引3.用SQL语句建立第二章习题5中的四个表。

S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成:CREATE TABLE S(Sno C(2) UNIQUE,Sname C(6) ,Status N(2),City C(4))零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成:CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2),WEIGHT I(2))工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、所在城市(CITY)组成:CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8),CITY C(4))供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成:CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2),QTY N(2))4.针对上题中建立的四个表试用SQL语言完成第二章习题5中的查询:(1)求供应工程J1零件的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO=’J1’(2)求供应工程J1零件P1的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1' (3)求供应工程J1零件为红色的供应商号码SNO:SELECT SNO FROM SPJ,P WHERE JNO='J1' AND = AND COLOR='红' (4)求没有使用天津供应商生产的红色零件的工程号JNO:SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE ='天津' AND COLOR='红' AND = AND =。

SQL语言习题参考答案

SQL语言习题参考答案

第3章 SQL语言习题参考答案1.试述SQL语言的特点。

(85页)答:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式、语言简捷,易学易用。

2.试述SQL的定义功能。

(87页)答:SQL的数据定义功能包括定义表、定义视图和定义索引3.用SQL语句建立第二章习题5中的四个表。

S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成:CREATE TABLE S(Sno C(2) UNIQUE,Sname C(6) ,Status N(2),City C(4))零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成:CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2),WEIGHT I(2))工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、所在城市(CITY)组成:CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8), CITY C(4)).供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成:CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2), QTY N(2))4.针对上题中建立的四个表试用SQL语言完成第二章习题5中的查询:(1)求供应工程J1零件的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO='J1'(2)求供应工程J1零件P1的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1' (3)求供应工程J1零件为红色的供应商号码SNO:SELECT SNO FROM SPJ,P WHERE JNO='J1' AND = AND COLOR='红'(4)求没有使用天津供应商生产的红色零件的工程号JNO: SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROMSPJ,P,S WHERE ='天津' AND COLOR='红' AND = AND =。

SQL试题及答案

SQL试题及答案

SQL试题及答案一、选择题1. 以下哪个SQL语句用于创建数据库?A. CREATE DATABASEB. CREATE TABLEC. CREATE INDEXD. CREATE VIEW答案:A2. 在SQL中,以下哪个操作符用于比较两个值是否相等?A. =B. ==C. ===D. !=答案:A3. 以下哪个SQL语句用于从数据库中删除表?A. DROP TABLEB. DELETE TABLEC. DROP DATABASED. DELETE DATABASE答案:A二、填空题1. 在SQL中,用来查询数据库中表的记录的语句是__________。

答案:SELECT2. 在SQL中,用来插入新记录到表的语句是__________。

答案:INSERT INTO3. 在SQL中,用来更新表中现有记录的语句是__________。

答案:UPDATE三、简答题1. 简述SQL中的主键(Primary Key)和外键(Foreign Key)的概念。

答案:主键是表中一个或多个列的组合,用于唯一标识表中的每条记录。

一个表只能有一个主键,且主键列的值不能为空或重复。

外键是一个表中的一个列或列组合,它是另一个表的主键。

外键用于建立两个表之间的关系,确保数据的完整性。

2. 请解释SQL中的INNER JOIN和LEFT JOIN的区别。

答案:INNER JOIN(内连接)返回两个表中有匹配的记录。

如果没有匹配的记录,则不会返回任何结果。

LEFT JOIN(左连接)返回左表中的所有记录,即使右表中没有匹配的记录。

如果左表中的记录在右表中没有匹配,则结果集中右表的列将以NULL填充。

四、编程题1. 编写一个SQL查询,从“员工”表中查询所有员工的名字和部门名称,假设“员工”表有“员工ID”、“姓名”和“部门ID”列,而“部门”表有“部门ID”和“部门名称”列。

答案:```sqlSELECT 员工.姓名, 部门.部门名称FROM 员工INNER JOIN 部门 ON 员工.部门ID = 部门.部门ID;```2. 编写一个SQL查询,更新“订单”表中所有订单的价格,使其价格上涨10%。

最新第3章 SQL语言习题参考答案

最新第3章 SQL语言习题参考答案

第3章 SQL语言习题参考答案1.试述SQL语言的特点。

(85页)答:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式、语言简捷,易学易用。

2.试述SQL的定义功能。

(87页)答:SQL的数据定义功能包括定义表、定义视图和定义索引3.用SQL语句建立第二章习题5中的四个表。

S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成:CREATE TABLE S(Sno C(2) UNIQUE,Sname C(6) ,Status N(2),City C(4))零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成:CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2), WEIGHT I(2))工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、所在城市(CITY)组成:CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8), CITY C(4))供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成:CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2), QTY N(2))4.针对上题中建立的四个表试用SQL语言完成第二章习题5中的查询:(1)求供应工程J1零件的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO=’J1’(2)求供应工程J1零件P1的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1'(3)求供应工程J1零件为红色的供应商号码SNO:SELECT SNO FROM SPJ,P WHERE JNO='J1' AND SPJ.PNO=P.PNO AND COLOR='红'(4)求没有使用天津供应商生产的红色零件的工程号JNO:SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE S.CITY='天津' AND COLOR='红' AND S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO)。

SQL语言章节练习答案

SQL语言章节练习答案

SQL语言章节练习答案SQL 语言章节练习答案一、设有如下关系模式:student(SNO, SNAME , SEX ,BIRTHDAY, CLASS)teacher(TNO,TNAME,SEX,BIRTHDAY,PRO F,DEPART) PROF 为职称,DEPART 为系别course(CNO, CNAME, TNO) score(SNO, CNO,DEGREE) DEGREE 为成绩写出实现以下各题功能的SQL 语句: 1.查询至少有2名男生的班号;——(难)SELECT CLASS FROM student WHERE SEX='男' GROUP BY CLASS HAVING COUNT(*)>=2;Having 语句用来对结果集进行附加筛选,通常与group by 语句一起使用。

*************************************************************2.查询不姓“王”的同学记录;——(易)SELECT * FROM studentWHERE NAME NOT LIKE '王%'3.查询每个学生的姓名和年龄;——(难)SELECT NAME,2007-year(BIRTHDAY) FROM student4.查询学生中最大和最小的birthday 日期值;——(中)SELECT MAX(BIRTHDAY), MIN(BIRTHDAY) FROM student5.查询学生表的全部记录并按班号和年龄从大到小的顺序;——(中)SELECT * FROM studentORDER BY CLASS,BIRTHDAY DESC6.查询男教师及其所上的课程;——(中) SELECT ,FROM teacher , course WHERE = and ='男'7.查询最高分同学的学号,课程号和成绩;——(中)SELECT * FROM score WHERE degree= (SELECT max(degree)FROM score )满足嵌套子查询的条件(最后投影的属性列可以在一个表格中给出)************************************* *888.查询和“李军”同性别并同班的所有同学的姓名;——(中)SELECT NAMEFROM studentWHEREsex=(SELECT sexFROM studentWHERE name='李军')andclass=(SELECT classFROM studentWHERE name='李军')要习惯用多重条件的复合运算来做题9.查询选修“数据库系统概论”课程的男同学的成绩表;——(中)SELECT *FROM score WHEREno IN(SELECT noFROM studentWHERE sex='男')andcno=(SELECT cnoFROM courseWHERE cname='数据库系统概论')10查询所有未讲课的教师的姓名和所在系别;——(难)S ELECT name, departFROM teacherWHERE NOT EXISTS(SELECT *FROM courseWHERE =)11.查询“计算机系”教师所教课程的成绩表;——(难)SELECT *FROM score , teacher , course WHERE ='计算机系'and =and =思路:涉及到三个表格,教师信息表,课程信息表,以及成绩表teacher ->计算机系教师教授的课程代码(teacher,course) = score-> 此课程的成绩表(course,score)=+ 限制条件 ='计算机系'缺一不可12.查询选修“5623”课程,且成绩高于“001”号同学成绩的所有同学的记录;——(难)SELECT *FROM student , scoreWHERE =and cno='5623'and degree>(SELECT degreeFROM scoreWHERE no='001'and cno='5623')13.查询最低分大于70,最高分小于90的学生的学号;——(中)SELECT noFROM scoreGROUP BY noHAVING min(degree)>70and max(degree)<9014.查询成绩在60到100之间的所有记录;——(中)SELECT *FROM scoreWHERE degree BETWEEN 60 AND 10015.查询成绩比该课程平均成绩低的同学的成绩表;——(相关子查询)(难)SELECT *FROM score aWHERE degree <(SELECT avg(degree)FROM score bWHERE =group by)16.查询所有女教师和女同学的姓名、性别和生日;——(中)SELECT name, sex, birthdayFROM teacherWHERE sex='女'UNIONSELECT name, sex, birthdayFROM studentWHERE sex='女'17.查询“计算机系”和“无线电系”的教师的姓名和职称;——(中)SELECT name, profFROM teacherWHERE depart='计算机系' OR depart='无线电系’'18. 建立一个学生课程成绩视图V-SSC(NO, NAME, CNO, CNAME, DEGREE);CREATE VIEW V-SSCASSELECT ,, cno, cname, degreeFROM student,course,scoreWHERE = AND =19从视图V-SSC上查询平均成绩在80分以上的同学的NAME, CNAME 和DEGREE。

第3章 SQL语言习题参考答案

第3章 SQL语言习题参考答案

第3章 SQL语言习题参考答案1.试述SQL语言的特点。

(85页)答:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式、语言简捷,易学易用。

2.试述SQL的定义功能。

(87页)答:SQL的数据定义功能包括定义表、定义视图和定义索引3.用SQL语句建立第二章习题5中的四个表。

S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成:CREATE TABLE S(Sno C(2) UNIQUE,Sname C(6) ,Status N(2),City C(4))零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成:CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2), WEIGHT I(2))工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、所在城市(CITY)组成:CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8), CITY C(4))供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成:CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2), QTY N(2))4.针对上题中建立的四个表试用SQL语言完成第二章习题5中的查询:(1)求供应工程J1零件的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO=’J1’(2)求供应工程J1零件P1的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1'(3)求供应工程J1零件为红色的供应商号码SNO:SELECT SNO FROM SPJ,P WHERE JNO='J1' AND SPJ.PNO=P.PNO AND COLOR='红'(4)求没有使用天津供应商生产的红色零件的工程号JNO:SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE S.CITY='天津' AND COLOR='红' AND S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO)。

(完整版)sql练习题+答案

(完整版)sql练习题+答案

(一) 新建以下几个表student(学生表):其中约束如下:(1)学号不能存在相同的(2)名字为非空(3)性别的值只能是’男’或’女’(4)系包括这几个:信息系,计算机科学系,数学系,管理系,中文系,外语系,法学系(5)出生日期为日期格式(6)年龄为数值型,且在0~100之间cs(成绩表):其中约束如下:(1)sno和cno分别参照student和course表中的sno,cno的字段(2)cj(成绩)只能在0〜100之间,可以不输入值create table cs (sno smallint not null referencesstudent ( sno ), ----定义成外键cno smallint not null referencescourse ( cno ), ----定义成外键cj smallint constraint e check (cj between0 and 100 ),---- 检查约束一—j(成绩)只能在~100之间,可以不输入值constraint f primary key ( sno , cno )---- 定义学生学号和课程号为sc表的主键)course(课程表)其约束如下:(1)课程号(cno)不能有重复的(2)课程名(cname非空(三)针对学生课程数据库查询(1)查询全体学生的学号与姓名。

Select sno , sname from student(2)查询全体学生的姓名、学号、所在系,并用别名显示出结果。

(3)查询全体学生的详细记录。

select * from student(4)查全体学生的姓名及其出生年份。

select sname , birth from student(5)查询学校中有哪些系。

select distinct dept from student(6)查询选修了课程的学生学号。

select sno from cs where eno is not null(7)查询所有年龄在20岁以下的学生姓名及其年龄。

数据库SQL习题答案

数据库SQL习题答案

第1章数据库系统概述二.1.答:该学校的教学管理E-R模型有以下实体:系、教师、学生、项目、课程。

各实体属性如下:系(系编号,系名,系主任)教师(教师编号,教师姓名,职称)学生(学号,姓名,性别,班号)项目(项目编号,名称,负责人)课程(课程编号,课程名,学分)各实体之间的联系如下:教师担任课程的1:n“任课”联系教师参加项目的n:m“参加”联系学生选修课程的n:m“选修”联系系、教师和学生之间的所属关系的1:m:n“领导”联系对应的E-R模型如图1.1所示。

图1.1 E-R图2.答:计算结果如下:R∪S R∩S R-S R╳T3.答:计算结果如下:R SσA=C (R S) A B C a b c A R.B S.B C a b d a b b c A R.B S.B C c b c a b b d a b e a c b d c b b c c b b c de acbbddebd4. 答:(1)它是2NF 。

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

又因为不存在非主属性对候选关键字的部分函数依赖,所以R 是2NF 。

(2)存在删除操作异常。

当删除某门课程时会删除不该删除的教师的有关信息。

(3)分解为高一级范式如下:R 1课程名 教师名 R2 W1 任我行 教师名 教师地址 W2 张三丰 任我行 D1 W3 郭靖 张三丰 D1 W4张三丰郭靖D2分解后,若删除课程数据时,仅对关系R1操作,教师地址信息在关系R2中仍然保留,不会丢失教师方面的信息。

5.答: 令X=D ,X(0)=D 。

在F 中找出左边是D 子集的函数依赖,其结果是D →HG ,所以X(1)=X(0)HG=DGH ,显然有X(1)≠X(0)。

在F 中找出左边是DGH 子集的函数依赖,未找到,则X(2)=DGH 。

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

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第四章阶段测试题及答案

SQL第四章阶段测试题及答案一、选择题(每题2分,共20分)1. SQL语言中用于查询数据的关键字是:A. SELECTB. INSERTC. UPDATED. DELETE答案:A2. 在SQL中,以下哪个关键字用于创建新表?A. CREATEB. DROPC. ALTERD. TRUNCATE答案:A3. 以下哪个选项不是SQL数据类型?A. INTB. VARCHARC. DATED. BOOLEAN答案:D4. 在SQL中,以下哪个关键字用于删除表?A. DROPB. DELETEC. REMOVED. DESTROY答案:A5. 使用GROUP BY子句时,以下哪个操作是正确的?A. 可以对任何列进行分组B. 只能对SELECT语句中包含的列进行分组C. 必须对所有列进行分组D. 不能与HAVING子句一起使用答案:B6. SQL中的主键约束用于保证:A. 表中数据的唯一性B. 表中数据的完整性C. 表中数据的一致性D. 表中数据的可读性答案:A7. 如果要查询表中所有数据,以下哪个SQL语句是正确的?A. SELECT * FROM table_nameB. SELECT ALL FROM table_nameC. SELECT ALL * FROM table_nameD. SELECT table_name.*答案:A8. 在SQL中,以下哪个关键字用于添加新列?A. ADDB. CREATEC. INSERTD. ALTER答案:D9. SQL中,以下哪个函数用于计算平均值?A. AVGB. SUMC. COUNTD. MAX答案:A10. 以下哪个选项不是SQL中的连接类型?A. INNER JOINB. OUTER JOINC. LEFT JOIND. RIGHT JOIN答案:B二、填空题(每题2分,共20分)1. 在SQL中,使用________关键字可以插入新的数据行。

第三章 SQL语言练习题和答案

第三章 SQL语言练习题和答案

第三章SQL语言一、选择题1. SQL语言是(B )的语言,容易学习。

A.过程化B. 非过程化C.格式化D. 导航式2. SQL语言的数据操纵语句包括SELECT、INSERT、UPDATE、DELETE等。

其中最重要的,也是使用最频繁的语句是(A)。

A. SELECTB. INSERTC. UPDATED. DELETE3. 在视图上不能完成的操作是()。

A. 更新视图B. 查询C. 在视图上定义新的表D. 在视图上定义新的视图4. SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现哪种功能()。

A. 数据查询B. 数据操纵C. 数据定义D. 数据控制5. SQL语言中,删除一个视图的命令是()。

A.DELETEB.DROPC.CLEARD.REMOVE6. 在SQL语言中的视图VIEW是数据库的()。

A. 外模式B. 模式C. 内模式D. 存储模式7. 下列的SQL语句中,()不是数据定义语句。

A. CREATE TABLEB. DROP VIEWC. CREATE VIEWD. GRANT8. 若要撤销数据库中已经存在的表S,可用()。

A. DELETE TABLE SB. DELETE SC. DROP TABLE SD. DROP S9. 若要在基本表S中增加一列CN(课程名),可用()。

A.ADD TABLE S(CN CHAR(8))B.ADD TABLE S ALTER(CN CHAR(8))C.ALTER TABLE S ADD(CN CHAR(8))D.ALTER TABLE S (ADD CN CHAR(8))10. 学生关系模式S(S#,Sname,Sex,Age),S的属性分别表示学生的学号、姓名、性别、年龄。

要在表S中删除一个属性“年龄”,可选用的SQL语句是()。

A. DELETE Age from SB. ALTER TABLE S DROP AgeC. UPDATE S AgeD. ALTER TABLE S …Age‟11. 有关系S(S#,SNAME,SAGE),C(C#,CNAME),SC(S#,C#,GRADE)。

SQL语句练习部分题目答案

SQL语句练习部分题目答案

SQL语句练习部分题⽬答案1、(6分)(3分) 分别⽤关系代数和SQL语⾔查询⾄少选修了⼀门其直接先⾏课为5号课程的学⽣姓名πSname(σCpno='5'(Course SC Student))或πSname(σCpno='5'(Course) SC πSno,Sname(Student))或πSname (πSno (σCpno='5' (Course)SC)πSno,Sname (Student))(3分) 分别⽤关系代数和SQL语⾔查询⾄少选修了⼀门其直接先⾏课为5号课程的学⽣姓名SELECT Sname FROM Course,SC,StudentWHERE /doc/587453d43186bceb19e8bbb1.html o = SC,Cno And Student.Sno = SC.Sno And Course.Cpno = ‘5’;2、(3分)假设每个职⼯可以在多个公司⼯作,⽤SQL语⾔查询每个职⼯的兼职公司的数⽬和⼯资总数,显⽰为:E#,NUM,SUM_SALARY。

SELECT E#,COUNT(*) NUM ,SUM(SALARY) SUM_SALARYFROM WORKSGROUP BY E#;3、(3分) ⽤SQL语⾔查询联华公司中低于本公司平均⼯资的职⼯的⼯号和姓名。

SELECT EMP.E#,ENAMEFROM EMP,COMP,WORKSWHERE COMP. C#= WORKS. C#ANDEMP.E#=WORKS.E#ANDCNAME=’联华’ANDSALARY<(SELECT A VG(SALARY)FROM WORKSWHERE C#=(SELECT C#FROMWHERE CNAME=’联华’)) ;4、(3分) ⽤SQL语⾔为50岁以上的职⼯加薪300元。

UPDATE WORKSSET SALARY=SALARY+300WHERE E# IN (SELECT E#FROM EMP WHERE AGE>50);5、(3分)创建视图,要求包括属性:职⼯姓名、⼯作的公司名称、⼯资、公司所在的城市。

结构化查询语言SQL习题与答案

结构化查询语言SQL习题与答案

结构化查询语言SQL习题与答案篇一:结构化查询语言SQL习题与答案一、选择题1. 在SQL包含的功能中,最重要的功能是_______。

A) 数据查询 B) 数据操纵 C) 数据定义 D) 数据控制2. 使用SQL语言有两种方式,它们是_______。

A) 菜单式和交互式B) 嵌入式和程序式C) 交互式和嵌入式D) 命令式和解释式3. SQL的全部功能可以用9个动词概括,其中动词INSERT是属于下列______功能。

A) 数据查询 B) 数据操纵 C) 数据定义 D) 数据控制4. SQL语言支持数据库的三级模式结构,其中模式对应于______。

A) 存储文件 B) 视图 C) 基本表 D) 视图和基本表5. 在创建数据表时,可以给字段规定NULL或NOT NULL值,NULL值的含义是______。

A) 0B) 空格 C) NULL D) 不确定6. 在SQL的ALTER语句中,用于删除字段的子句是______。

A) ALTER B) DELETE C) DROP D) MODIFY7. SQL中的INSERT语句可以用于______。

A) 插入一条记录 B) 插入一个字段C) 插入一个索引 D) 插入一个表8. 下列描述错误的是______。

A)用INSERT-SQL语句可以插入一条记录B)用INSERT-SQL语句可以插入多条记录C)使用INSERT-SQL语句可以插入记录的部分数据D)使用INSERT-SQL语句插入记录时列名的排列顺序必须与表定义时的顺序一致9. INSERT-SQL语句中所使用的数据不能来自于______。

A) 数组 B) 变量 C) 查询 D) 索引10. SQL中的UPDATE语句可以用于______。

A) 更新数据表的结构 B) 更新数据表的值C) 更新索引D) 更新查询11. 下列描述错误的是______。

A) SQL中的UPDATE语句可以修改一条记录B)SQL中的UPDATE语句可以修改多条记录C)SQL中的UPDATE语句可以用子查询提供要修改的值D)SQL中的UPDATE语句可以修改子查询的结果12. SQL中的DELETE语句可以用于______。

SQL考试题库及答案

SQL考试题库及答案

SQL考试题库及答案1. 选择题:以下哪个SQL命令用于创建一个新的数据库?A. CREATE TABLEB. CREATE DATABASEC. DROP DATABASED. ALTER DATABASE答案:B2. 填空题:在SQL中,使用____关键字可以删除一个已经存在的表。

答案:DROP TABLE3. 判断题:以下SQL语句是否正确?"SELECT * FROM users WHERE name = 'John';"A. 正确B. 错误答案:A4. 简答题:解释SQL中的主键(PRIMARY KEY)是什么?答案:主键是一个或多个字段的组合,用于在数据库表中唯一标识每条记录。

一个表只能有一个主键,且主键的值不能为NULL。

5. 选择题:在SQL中,哪个函数用于计算表中所有记录的总数?A. COUNT(*)B. SUM(*)C. AVG(*)D. MAX(*)答案:A6. 填空题:在SQL中,使用____关键字可以更新表中的记录。

答案:UPDATE7. 判断题:以下SQL语句是否正确?"INSERT INTO customers (name, email)VALUES('Alice','*****************');"A. 正确B. 错误答案:A8. 简答题:解释SQL中的外键(FOREIGN KEY)是什么?答案:外键是一个字段(或一组字段),它在一个表中引用另一个表的主键。

外键用于建立两个表之间的关系,并确保数据的引用完整性。

9. 选择题:在SQL中,哪个命令用于删除数据库中的表?A. DELETE TABLEB. DROP TABLEC. REMOVE TABLED. CLEAR TABLE答案:B10. 填空题:在SQL中,使用____关键字可以添加一个新列到现有的表中。

答案:ALTER TABLE结束语:以上是SQL考试题库及答案,希望能够帮助考生更好地理解和掌握SQL的基本概念和操作。

(完整版)第3章SQL语言习题参考答案(新)

(完整版)第3章SQL语言习题参考答案(新)

第3章 SQL语言习题参考答案1.试述SQL语言的特点。

(85页)答:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式、语言简捷,易学易用。

2.试述SQL的定义功能。

(87页)答:SQL的数据定义功能包括定义表、定义视图和定义索引3.用SQL语句建立第二章习题5中的四个表。

S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成:CREATE TABLE S(Sno C(2) UNIQUE,Sname C(6) ,Status N(2),City C(4))零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成:CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2), WEIGHT I(2))工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、所在城市(CITY)组成:CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8),CITY C(4))供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成:CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2),QTY N(2))4.针对上题中建立的四个表试用SQL语言完成第二章习题5中的查询:(1)求供应工程J1零件的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO=’J1’(2)求供应工程J1零件P1的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1' (3)求供应工程J1零件为红色的供应商号码SNO:SELECT SNO FROM SPJ,P WHERE JNO='J1' AND SPJ.PNO=P.PNO AND COLOR='红'(4)求没有使用天津供应商生产的红色零件的工程号JNO:SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE S.CITY='天津' AND COLOR='红' AND S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO)。

SQL试题精选及答案

SQL试题精选及答案

SQL试题精选及答案1. 请写出SQL中创建新表的语句。

答案:CREATE TABLE 表名 (列1 类型, 列2 类型, ...);2. 如何在SQL中查询特定列的数据?答案:SELECT 列名 FROM 表名 WHERE 条件;3. 请解释SQL中的JOIN操作。

答案:JOIN操作用于将两个或多个表中的行组合起来,基于一个共同的列。

4. 写出SQL中更新表中数据的语句。

答案:UPDATE 表名 SET 列名1 = 值1, 列名2 = 值2 WHERE 条件;5. 如何在SQL中删除表中的数据?答案:DELETE FROM 表名 WHERE 条件;6. 请描述SQL中的GROUP BY子句的作用。

答案:GROUP BY子句用于将取回的记录分组,可以与聚合函数一起使用,如COUNT、SUM等。

7. SQL中如何使用子查询?答案:子查询是嵌套在另一个查询中的查询,可以出现在SELECT、INSERT、UPDATE或DELETE语句中。

8. 请写出SQL中创建索引的语句。

答案:CREATE INDEX 索引名 ON 表名 (列名);9. 如何在SQL中使用事务?答案:可以使用BEGIN TRANSACTION开始事务,然后执行一系列操作,最后使用COMMIT提交事务或ROLLBACK回滚事务。

10. 请解释SQL中的主键和外键。

答案:主键是表中用来唯一标识每行数据的列或列组合,而外键是一个表中的列或列组合,它在另一个表中作为主键。

11. SQL中如何进行数据排序?答案:使用ORDER BY子句,如SELECT * FROM 表名 ORDER BY 列名ASC 或 DESC。

12. 如何在SQL中使用聚合函数?答案:聚合函数如SUM、COUNT、AVG等,可以与GROUP BY子句一起使用,对数据进行汇总。

13. 请写出SQL中插入数据的语句。

答案:INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...);14. 请解释SQL中的视图。

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

SQL 语言章节练习答案一、设有如下关系模式: student(SNO, SNAME , SEX ,BIRTHDAY, CLASS) teacher(TNO,TNAME,SEX,BIRTHDAY,PR OF,DEPART) PROF 为职称,DEPART 为系别 course(CNO, CNAME, TNO) score(SNO, CNO, DEGREE) DEGREE 为成绩 写出实现以下各题功能的SQL 语句: 1.查询至少有2名男生的班号;——(难) SELECT CLASS FROM student WHERE SEX='男' GROUP BY CLASS HAVING COUNT(*)>=2; Having 语句用来对结果集进行附加筛选,通常与group by 语句一起使用。

************************************************************* 2.查询不姓“王”的同学记录;——(易) SELECT * FROM student WHERE NAME NOT LIKE '王%' 3.查询每个学生的姓名和年龄;——(难) SELECT NAME,2007-year(BIRTHDAY) FROM student 4.查询学生中最大和最小的birthday 日期值;——(中) SELECT MAX(BIRTHDAY), MIN(BIRTHDAY) FROM student 5.查询学生表的全部记录并按班号和年龄从大到小的顺序;——(中) SELECT * FROM student ORDER BY CLASS,BIRTHDAY DESC 6.查询男教师及其所上的课程;——(中) SELECT , FROM teacher , course WHERE = and ='男' 7.查询最高分同学的学号,课程号和成绩;——(中) SELECT * FROM scoreWHERE degree= ( SELECT max(degree) FROM score ) 满足嵌套子查询的条件(最后投影的属性列可以在一个表格中给出) **************************************88 8.查询和“李军”同性别并同班的所有同学的姓名;——(中) SELECT NAME FROM student WHERE sex= ( SELECT sex FROM student WHERE name='李军' ) and class= ( SELECT class FROM student WHERE name='李军' ) 要习惯用多重条件的复合运算来做题 9.查询选修“数据库系统概论”课程的男同学的成绩表;——(中) SELECT * FROM score WHERE no IN ( SELECT no FROM student WHERE sex='男') and cno= (SELECT cnoFROM courseWHERE cname='数据库系统概论')10查询所有未讲课的教师的姓名和所在系别;——(难)S ELECT name, departFROM teacherWHERE NOT EXISTS(SELECT *FROM courseWHERE =)11.查询“计算机系”教师所教课程的成绩表;——(难)SELECT *FROM score , teacher , course WHERE ='计算机系'and =and =思路:涉及到三个表格,教师信息表,课程信息表,以及成绩表teacher ->计算机系教师教授的课程代码(teacher,course) =score-> 此课程的成绩表(course,score)=+ 限制条件 ='计算机系'缺一不可!!!!!!!!12.查询选修“5623”课程,且成绩高于“001”号同学成绩的所有同学的记录;——(难)SELECT *FROM student , scoreWHERE =and cno='5623'and degree>(SELECT degreeFROM scoreWHERE no='001'and cno='5623' )13.查询最低分大于70,最高分小于90的学生的学号;——(中)SELECT noFROM scoreGROUP BY noHAVING min(degree)>70and max(degree)<9014.查询成绩在60到100之间的所有记录;——(中)SELECT *FROM scoreWHERE degree BETWEEN 60 AND 10015.查询成绩比该课程平均成绩低的同学的成绩表;——(相关子查询)(难)SELECT *FROM score aWHERE degree <(SELECT avg(degree)FROM score bWHERE =group by)16.查询所有女教师和女同学的姓名、性别和生日;——(中)SELECT name, sex, birthdayFROM teacherWHERE sex='女'UNIONSELECT name, sex, birthdayFROM studentWHERE sex='女'17.查询“计算机系”和“无线电系”的教师的姓名和职称;——(中)SELECT name, profFROM teacherWHERE depart='计算机系' OR depart='无线电系’'18. 建立一个学生课程成绩视图V-SSC(NO, NAME, CNO, CNAME, DEGREE);CREATE VIEW V-SSCASSELECT ,, cno, cname, degreeFROM student,course,scoreWHERE = AND =19从视图V-SSC上查询平均成绩在80分以上的同学的NAME, CNAME 和DEGREE。

SELECT NAME, CNAME, DEGREEFROM V-SSCGROUP BY NOHAVING AVG(DEGREE)>80二、设有如下关系模式:——(中)图书关系B(图书编号B#,图书名T,作者A,出版社P);读者关系R(借书证号C#,读者名N,读者地址D);借阅关系L(C#,B#,借书日期E,还书标志BZ);BZ=NULL 表示未还;写出实现以下各题功能的SQL语句:1.查询“工业出版社”出版的图书名,用关系代数表达式描述关系查询,并写出查询语言。

))((''BPT工业出版社=∏σSelect Tfrom BWhere P = ’工业出版社’2.将书号为B5的图书的出版社改为“工业出版社”Update BSet P=’工业出版社’Where B# = ’B5’3.查询2007年以前借书的读者名字Select N , TFrom R , LWhere E <’2007’AND #=#4.将读者“孙祥”的借书信息从L表中删除。

Delete from L Where C# = ( Select C# From RWhere N=’孙祥’);三、设有关系模式:SB( SN , SNAME, CITY) 其中SB表示供应商,SN为供应商号,SNAME为供应商名字,CITY为供应商所在城市;PB(PN,COLOR为零件颜色,WEIGHT为零件重量;JB( JN, JNAME, JCITY)写出实现以下各题功能的SQL语句:1.取出所有工程的全部细节;——(易)SELECT *FROM JB2.取出所在城市为上海的所有工程的全部细节;——(易)SELECT *FROM JBWHERE JCITY='上海'3.取出重量最轻的零件代号;——(难)S ELECT PNFROM PBWHERE WEIGHT=(SELECT MIN(WEIGHT)FROM PB)4.取出为工程J01提供零件的供应商代号;——(易)SELECT SNFROM SPJBWHERE JN='J01'5.取出为工程J01提供零件P01的供应商代号;——(易)SELECT SNFROM SPJBWHERE JN='J01'AND PN='P01'6.取出由供应商0101提供零件的工程名称;——(易)SELECT JNAMEFROM JB,SPJBWHERE SN='0101'AND =7.取出供应商0101提供的零件的颜色;——(易)SELECT COLORFROM PB,SPJBWHERE SN='0101'AND =8.取出为工程J01或J02提供零件的供应商代号;——(中)SELECT SNFROM SPJBWHERE JN='J01' OR JN='J02'9.取出为工程J01提供黑色零件的供应商代号;——(易)S ELECT SNFROM SPJB,PBWHERE COLOR='黑色'AND JN='J01'AND =10.取出为所在城市为上海的工程提供零件的供应商代号;——(易)SELECT SNFROM SPJB,JBWHERE JCITY='上海'AND =11.取出为所在城市为上海或北京的工程提供黑色零件的供应商代号;——(中)SELECT SNFROM PB, JB, SPJBWHERE COLOR='黑色'AND JCITY IN ('上海','北京')AND =AND =涉及到城市,颜色,供应商,需要的表有三个PB, JB, SPJB(两个连接条件)+ 两个限制条件COLOR='黑色' + JCITY IN ('上海','北京')12.取出供应商与工程所在城市相同的供应商提供的零件代号;——(中)SELECT PNFROM SB, JB , SPJBWHERE =AND =AND =SB---SPJB-----JB13.取出上海的供应商提供给上海的任一工程的零件的代号;——(难)SELECT PNFROM SB, SPJB, JBWHERE ='上海'AND ='上海'AND =AND =多表连接选择条件 = 连接条件 + 限制条件14.取出上海供应商不提供任何零件的工程的代号;——(难)SELECT JNFROM SPJB WHERE JN NOT IN(SELECTFROM SB,SPJBWHERE = AND ='上海')!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!取出上海供应商提供的零件的工程代号,用NotIn15.取出这样一些供应商代号,它们能够提供至少一种由黑色零件的供应商提供的零件;——(难)SELECTFROM SB,SPJBWHERE IN(SELECTFROM SPJB,PBWHERE = AND ='黑色')先取出黑色零件的代码,再用集合IN16.取出由供应商0101提供零件的工程的代号;——(易)SELECT JNFROM SPJBWHERE SN='0101'。

相关文档
最新文档