实验二:简单查询与连接查询报告.docVIP

  • 42
  • 0
  • 约2.78万字
  • 约 8页
  • 2017-08-05 发布于河南
  • 举报
实验二:简单查询和连接查询 一 实验目的:熟练掌握用SQL语句实现的简单查询和多个数据表连接查询。 二 实验内容: (一)完成下面的简单查询: ①查询所有“天津”的供应商明细; ②查询所有“红色”的14公斤以上的零件。 ③查询工程名称中含有“厂”字的工程明细。 (二)完成下面的连接查询: ①等值连接:求s表和j表的相同城市的等值连接。 ②自然连接:查询所有的供应明细,要求显示供应商、零件和工程的名称,并按照供应、工程、零件排序。 ③笛卡尔积:求s和p表的笛卡尔积 ④左连接:求j表和spj表的左连接。 ⑤右连接:求spj表和j表的右连接。 三 完成情况: (一) ①查询所有“天津”的供应商明细; SELECT * FROM S WHERE CITY=天津; 结果: ②查询所有“红色”的14公斤以上的零件。 SELECT * FROM P WHERE COLOR=红 AND WEIGHT12; 结果: ③查询工程名称中含有“厂”字的工程明细。 SELECT * FROM J WHERE JNAME LIKE %厂; 结果: (二) ①等值连接:求s表和j表的相同城市的等值连接。 SELECT S.*,J.* FROM S,J WHERE S.CITY=J.CITY; 结果: ②自然连接:查询所有的供应明细,要求显示供应商、零件和工程的名称,并按照供应、工程、零件排序。 SELECT S.SNAME,P.PNAME,J.JNAME FROM S,P,J,SPJ WHERE S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO AND J.JNO=SPJ.JNO; 结果: ③笛卡尔积:求s和p表的笛卡尔积 SELECT S.*,P.* FROM S,P; 结果: ④左连接:求j表和spj表的左连接。 SELECT J.*,SPJ.* FROM J LEFT OUTER JOIN SPJ ON (J.JNO=SPJ.JNO); 结果: ⑤右连接:求spj表和j表的右连接。 SELECT J.*,SPJ.* FROM J RIGHT OUTER JOIN SPJ ON (J.JNO=SPJ.JNO); 结果: (三) /*习题3.7第5题*/ SELECT SNAME,CITY FROM S; 结果: SELECT PNAME,COLOR,WEIGHT FROM P; 结果: SELECT JNO FROM SPJ WHERE SNO=S1; 结果: SELECT P.PNAME,COUNT(P.PNO) FROM P,SPJ WHERE P.PNO=SPJ.PNO AND SPJ.JNO=J2 GROUP BY(P.PNAME); 结果: SELECT PNO FROM SPJ WHERE SNO IN (SELECT SNO FROM S WHERE CITY=上海); 结果: SELECT JNAME FROM J WHERE JNO IN (SELECT JNO FROM SPJ WHERE SNO IN (SELECT SNO FROM S WHERE CITY=上海)); 结果: SELECT JNO FROM SPJ WHERE NOT EXISTS (SELECT * FROM S WHERE SNO=SPJ.SNO AND CITY=天津); 结果: UPDATE P SET COLOR=蓝 WHERE COLOR=红; UPDATE SPJ SET SNO=S3 WHERE SNO=S5 AND PNO=P6 AND JNO=J4; SELECT * FROM SPJ WHERE PNO=P6 AND JNO=J4; INSERT INTO SPJ VALUES(S2,P4,J6,200); 四 实验结果:见上表。 五 问题及解决: 由于实验一对表中数据有所更改,进行实验二时不得不对实验数据再次进行更改,添加和删除。 解决:对有影响的数据进行更改,而没

文档评论(0)

1亿VIP精品文档

相关文档