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)。

  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'。

相关文档
最新文档