sql语言练习

上传人:xins****2008 文档编号:115666084 上传时间:2019-11-14 格式:DOC 页数:19 大小:1.02MB
返回 下载 相关 举报
sql语言练习_第1页
第1页 / 共19页
sql语言练习_第2页
第2页 / 共19页
sql语言练习_第3页
第3页 / 共19页
sql语言练习_第4页
第4页 / 共19页
sql语言练习_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《sql语言练习》由会员分享,可在线阅读,更多相关《sql语言练习(19页珍藏版)》请在金锄头文库上搜索。

1、实验 SQL语言练习实验目的:熟练掌握SQL语言。实验类型:验证实验要求:必修实验内容:结合SQL/92标准和SQL-Server的TransactSQL,使用SQL Server的SQL Analysis图形化工具熟悉SQL语言,并建立“学生数据库”或“供应商-项目-零件数据库”的数据库对象(表、视图、用户及其权限)的Script脚本;理解Script脚本的重要性;使用TransactSQL语言建立“学生数据库” 或“供应商-项目-零件数据库”,并对其进行查询和更新操作;要求熟练掌握SQL的基本使用。第三章 习题3用SQL建立第二章习题5中的4个表。解答:建S(SNO,SNAME,STATU

2、S,CITY)表;CREATE TABLE S(SNO CHAR(3), SNAME CHAR(1), STATUS CHAR(2), CITY CHAR(10);建P(PNO,PNAME,COLOR,WEIGHT)表;CREATE TABLE P(PNO CHAR(3), PNAME CHAR(10), COLOR CHAR(4), WEIGHT INT);建J(JNO,JNAME,CITY)表;CREATE TABLE J(JNO CHAR(3), JNAME CHAR(10), CITY CHAR(10);建SPJ(SNO,PNO,JNO,QTY)表;CREATE TABLE SPJ(S

3、NO CHAR(3), PNO CHAR(3), JNO CHAR(3), QTY INT);在SQL server 的查询分析器中的执行结果;运行结果(建立的四个表):4针对上题中建立的4个表试用SQL语言完成第二章习题5中的查询。解答:(1)求供应工程J1零件的供应商号码SNO;SELECT SNOFROM SPJWHERE JNO=J1;在SQL server中运行结果示意:(2)求供应工程J1零件P1的供应商号码SNO;SELECT SNO FROM SPJWHERE JNO=J1AND PNO=P1;在SQL server中运行结果示意:(3)求供应工程J1零件为红色的供应商号码SN

4、O;SELECT SNO FROM SPJWHERE JNO=J1 AND PNO IN (SELECT PNO FROM P WHERE COLOR=红);在SQL server中运行结果示意:(4)求没有使用天津供应商生产的红色零件的工程号JNO;SELECT JNOFROM JWHERE NOT EXISTS (SELECT * FROM SPJ WHERE SPJ.JNO=J.JNO AND SNO IN (SELECT SNO FROM S WHERE CITY=天津) AND PNO IN (SELECT PNO FROM P WHERE COLOR=红);在SQL server中

5、运行结果示意:(5)求至少用了供应商S1所供应的全部零件的工程号JNO;SELECT DISTINCT JNOFROM SPJ SPJZWHERE NOT EXISTS(SELECT * FROM SPJ SPJX WHERE SNO=S1 AND NOT EXISTS (SELECT * FROM SPJ SPJY WHERE SPJY.PNO=SPJX.PNO AND SPJY.JNO=SPJZ.JNO);在SQL server中运行结果示意:5针对习题3中的4个表试用SQL语言完成以下各项操作:解答:(1)找出所有供应商的姓名和所在城市。SELECT SNAME, CITYFROM S;

6、在SQL server中运行结果示意:(2)找出所有零件的名称、颜色、重量。SELECT PNAME,COLOR,WEIGHTFROM P;在SQL server中运行结果示意:(3)找出使用供应商S1所供应零件的工程号码。SELECT JNOFROM SPJWHERE SNO=S1;在SQL server中运行结果示意:(4)找出工程项目J2使用的各种零件的名称及其数量。SELECT P.PNAME,SPJ.QTYFROM P,SPJWHERE P.PNO=SPJ.PNO AND SPJ.JNO=J2;在SQL server中运行结果示意:(5)找出上海厂商供应的所有零件号码。SELECT

7、DISTINCT PNOFROM SPJWHERE SNO IN (SELECT SNOFROM S WHERE CITY=上海);在SQL server中运行结果示意:(6)找出使用上海产的零件的工程名称。SELECT JNAMEFROM J,SPJ,SWHERE J.JNO=SPJ.JNOAND SPJ.SNO=S.SNOAND S.CITY=上海;在SQL server中运行结果示意:(7)找出没有使用天津产的零件的工程号码。SELECT JNOFROM JWHERE NOT EXISTS(SELECT * FROM SPJ WHERE SPJ.JNO=J.JNO AND SNO IN

8、(SELECT SNO FROM S WHERE CITY=天津);在SQL server中运行结果示意:(8)把全部红色零件的颜色改成蓝色。UPDATE PSET COLOR=蓝WHERE COLOR=红;在SQL server中运行结果示意:(9)由S5供给J4的零件P6改为由S3供应,请做必要的修改。UPDATE SPJSET SNO=S3WHERE SNO=S5 AND JNO=J4 AND PNO=P6;在SQL server中运行结果示意:(10)从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录。DELETE FROM SPJWHERE SNO=S2;DELETEFR

9、OM SWHERE SNO=S2;在SQL server中运行结果示意:11请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供应数(QTY)。针对该视图完成下列查询:(1)找出三建工程项目使用的各种零件代码及其数量。(2)找出供应商S1的供应情况。解答:建视图:CREATE VIEW V_SPJ ASSELECT SNO,PNO,QTYFROM SPJWHERE JNO= (SELECT JNO FROM J WHERE JNAME=三建)在SQL server中运行结果示意:对该视图查询:(1)找出三建工程项目使用的各种零件代码及其数量。SELECT P

10、NO,QTYFROM V_SPJ;在SQL server中运行结果示意:(2)找出供应商S1的供应情况。SELECT PNO,QTYFROM V_SPJWHERE SNO=S1在SQL server中运行结果示意:12针对习题3建立的表,用SQL语言完成一下各项操作:(1)把对表S的INSERT权限授予用户张勇,并允许他再将此权限授予其他用户。解答:GRANT INSERTON STO 张勇WITH GRANT OPTION;在SQL server中运行结果示意:(2)把查询SPJ表和修改QTY属性的权限授给用户李天明。解答:GRANT SELECT,UPDATE(QTY)ON SPJTO 李天明在SQL server中运行结果示意:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号