数据查询与更新实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信息工程学院实验报告
课程名称:《数据库原理》Array
实验项目名称:数据查询与更新
一、实验目的:
(1)观察查询结果, 体会SELECT语句实际应用;
(2)要求学生能够在查询分析器中使用SELECT语句进行简单查询。
(3)熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。
(4)熟悉使用UPDATE/INSERT/DELETE/ALTER语句进行表操作;
二、实验设备与器件
Win7 +Sql server 2008
三、实验内容与步骤
根据实验一所创建数据库SPJ,在查询分析器中用sql语句完成以下题目
(1)找出所有供应商的姓名和所在城市。
(2)找出所有零件的名称、颜色、重量。
(3)找出使用供应商S1所供应零件的工程号码。
(4)列出所有地址在北京的供应商姓名。
(5)模糊查询,找出名字包含“螺丝”两个字且颜色为红色的零件名称。
(6)统计不同城市工程项目的数量,结果显示“城市”、“工程项目数合计”。
(7)找出工程项目J2使用的各种零件的名称及其数量。
(8)找出上海厂商供应的所有零件号码。
(9)出使用上海产的零件的工程名称。
(10)统计不同地区供应商所供应的零件总数量,结果显示供应商地区、零件总量。(11)分类统计供应商“盛锡”,不同零件的供应量,结果显示零件名称、零件数量。(12)找出没有使用天津产的零件的工程号码。
(13)查询至少用了供应商S1提供的全部零件的工程号JNO。
(14)把全部红色零件的颜色改成蓝色。
(15)由S5供给J4的零件P6改为由S3供应。
(16)从供应商关系中删除供应商号是S2的记录,并从供应情况关系中删除相应的记录。(17)请将(S1,J6,P4,200)插入供应情况关系。
(18)为S表添加供应商,供应商编号:S6,供应商名称:伟星,城市:北京,状态暂未定。(19)为P表添加零件,零件编号:P7,零件名称:凹轮,颜色:蓝,重量:20。
(20)将S、SPJ表进行左外连接,查询结果中带有null值的表示什么含义?
(21)将SPJ、P表进行右外连接,查询结果中带有null值的表示什么含义?
(22)在P表中加入属性零件产地CITY(CHAR型)。
(23)将P表中加入属性WEIGHT改为SMALLINT型。
(24)删除刚才在P表中加入的零件产地CITY属性。
四、实验总结:
(1)找出所有供应商的姓名和所在城市。
SELECT SNAME,CITY FROM S;
(2)找出所有零件的名称、颜色、重量。
SELECT PNAME,COLOR,WEIGHT FROM P;
(3)找出使用供应商S1所供应零件的工程号码。
SELECT JNO FROM SPJ WHERE SNO='S1';
(4)列出所有地址在北京的供应商姓名。
4SELECT SNAME FROM S WHERE CITY='北京';
(5)模糊查询,找出名字包含“螺丝”两个字且颜色为红色的零件名称。SELECT PNAME
FROM P
WHERE PNAME LIKE'螺丝_'and COLOR='红';
(6)统计不同城市工程项目的数量,结果显示“城市”、“工程项目数合计”。SELECT CITY,COUNT(JNO)as'工程项目数合计'
FROM J
GROUP BY CITY
(7)找出工程项目J2使用的各种零件的名称及其数量。
SELECT QTY,PNAME
FROM P,SPJ
WHERE P.PNO=SPJ.PNO AND JNO='J2'
(8)找出上海厂商供应的所有零件号码。
SELECT PNO
FROM S,SPJ
WHERE S.SNO=SPJ.SNO AND CITY='上海'
(9)出使用上海产的零件的工程名称。
SELECT JNAME
FROM S,J,SPJ
WHERE S.SNO=SPJ.SNO AND J.JNO=SPJ.JNO AND S.CITY='上海'
(10)统计不同地区供应商所供应的零件总数量,结果显示供应商地区、零件总量。SELECT CITY AS'供应商地区',SUM(QTY)AS'零件总量'
FROM SPJ,S
WHERE S.SNO=SPJ.SNO
GROUP BY CITY
(11)分类统计供应商“盛锡”,不同零件的供应量,结果显示零件名称、零件数量。SELECT PNAME AS'零件名称',SUM(QTY)AS'零件数量'
FROM SPJ,P,S
WHERE P.PNO=SPJ.PNO AND S.SNO=SPJ.SNO AND S.SNAME='盛锡'
GROUP BY PNAME
(12)找出没有使用天津产的零件的工程号码。
SELECT JNO
FROM J
WHERE 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))
(13)查询至少用了供应商S1提供的全部零件的工程号JNO。
SELECT DISTINCT JNO
FROM SPJ SPJZ
WHERE NOT EXISTS
(SELECT*
FROM SPJ SPJX
WHERE SNO='S1'
AND NOT EXISTS
(SELECT*
FROM SPJ SPJY