您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据结构与算法 > SQL-数据查询与维护
《数据库原理》实验报告姓名学号日期2013.04.25实验室指导教师设备编号实验题目实验单元三SQL数据查询与维护一、实验目的1)熟悉SQL数据查询语言2)熟练的用SQL语句进行多表连接查询、嵌套查询、集合查询。二、实验内容1)还原得到实验二中建立的SPJ数据库;2)求供应工程J1零件的供应商号码SNO;3)求供应工程J1零件P1的供应商号码SNO;4)求没有使用天津供应商生产的红色零件的工程号JNO;5)求至少使用了供应商S1所供应的全部零件的工程号JNO;6)找出所有供应商的姓名和所在城市;7)找出所有零件的名称、颜色和重量;8)找出使用供应商S1所供应零件的工程号;9)找出工程项目J2使用的各种零件的名称及其数量;10)找出上海厂商供应的所有零件号码;11)找出使用上海产的零件的工程名称;12)找出没有使用天津产的零件的工程号码;13)把全部红色零件的颜色改为蓝色;14)由S5供应J4的零件P6改为有S3供应;15)从供应商关系中删除S2的记录,并从供应关系中删除相应的记录;16)将(S2,J6,P4,200)插入到供应关系中若有剩余时间,建立教材上的JXGL数据库Student、SC、Course表,并练习教材上给出的各个SQL查询的例子。三、实验要求1)实验报告中要求分别列出进行1)~16)操作的SQL语句,并指出语句能否执行并得到正确结果。2)考虑能否使用多表查询和嵌套查询方法实现,对于嵌套查询考虑是否可以用EXISTS谓词实现。四、实验结果1)还原数据库SPJ2)求供应工程J1零件的供应商号码SNOselectdistinctsnofromspjwherejno='j1';3)求供应工程J1零件P1的供应商号码SNOselectdistinctsnofromspjwherejno='j1'andpno='p1';4)求没有使用天津供应商生产的红色零件的工程号JNO;selectdistinctjnofroms,p,spjwherenotcity='天津'andnotcolor='红'ands.sno=spj.snoandp.pno=spj.pno;5)求至少使用了供应商S1所供应的全部零件的工程号JNOselectdistinctjnofromspjspjzwherenotexists(select*fromspjspjxwherespjx.sno='s1'andnotexists(select*fromspjspjywherespjy.pno=spjx.pnoandspjy.jno=spjz.jnoandspjy.sno='s1'));6)找出所有供应商的姓名和所在城市selectsname,cityfroms;7)找出所有零件的名称、颜色和重量selectpname,color,weightfromp;8)找出使用供应商S1所供应零件的工程号selectjnofromspjwheresno='s1';9)找出工程项目J2使用的各种零件的名称及其数量selectpname,qtyfromp,spjwherep.pno=spj.pnoandjno='j2';10)找出上海厂商供应的所有零件号码selectpnofromspjwheresno=(selectsnofromswherecity='上海');11)找出使用上海产的零件的工程名称selectjnamefromjwherejnoin(selectjnofromspjwheresnoin(selectsnofromswherecity='上海'));12)找出没有使用天津产的零件的工程号码selectdistinctjnofromspjwherenotsnoin(selectsnofromswherecity='天津');13)把全部红色零件的颜色改为蓝色updatepsetcolor='蓝'wherecolor='红';14)由S5供应J4的零件P6改为有S3供应updatespjsetsno='s3'wheresno='s5'andjno='j4'andpno='p6';15)从供应商关系中删除S2的记录,并从供应关系中删除相应的记录deletefromswheresno='s2'deletefromspjwheresno='s2';16)将(S2,J6,P4,200)插入到供应关系中(由于15题把s表中s2的记录删除,需在s表中重新插入一s2)insertintos(sno)values('s2');insertintospj(sno,jno,pno,qty)values('S2','J6','P4',200);五、实验总结用SQL语句进行多表连接查询、嵌套查询、集合查询,对于嵌套查询考虑用EXISTS谓词实现,由EXISTS引出的子查询,其目标列表达式通常用*,因为带EXISTS的子查询只返回真值或假值。教师评语2010年5月27日实验成绩优良中及格不及格
本文标题:SQL-数据查询与维护
链接地址:https://www.777doc.com/doc-1908019 .html