- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章习题解答 课件 教程
第3章习题答案 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),属性的类型都是字符型,长度分别是4、20、10和20个字符。主键是供应商编号SNO。在SQL中允许属性值为空值,当规定某一属性值不能为空值时,就要在定义该属性时写上保留字“NOT NULL”。本例中,规定供应商号和供应商名不能取空值。由于已规定供应商号为主码,所以对属性SNO的定义中的“NOT NULL”可以省略不写。 CREATE TABLE S (SNO CHAR(4) NOT NULL , SNAME CHAR(20) NOT NULL, STATUS CHAR(10), CITY CHAR(20), PRIMARY KEY (SNO)); CREATE TABLE P (PNO CHAR(4) NOT NULL, PNAME CHAR(20) NOT NULL, COLOR CHAR(8), WEIGHT SMALLINT, PRIMARY KEY(PNO)); CREATE TABLE J (JNO CHAR(4) NOT NULL, JNAME CHAR(20), CITY CHAR(20), PRIMARY KEY(JNO)); CREATE TABLE SPJ (SNO CHAR(4) NOT NULL, PNO CHAR(4) NOT NULL, JNO CHAR(4) NOT NULL, QTY SMALLINT, PRIMARY KEY (SNO,PNO,JNO), FOREIGN KEY (SNO) REFERENCES S(SNO), FOREIGN KEY (PNO) REFERENCES P(PNO), FOREIGN KEY (JNO) REFERENCES J(JNO)); 4.针对上题中建立的四个表试用SQL语言完成第二章习题5中的查询 1)求供应工程J1零件的供应商号码SNO; 2)求供应工程J1零件P1的供应商号码SNO; 3)求供应工程J1零件为红色的供应商号SNO; 4)求没有使用天津供应商生产的红色零件的工程号JNO; 5)求至少用了供应商S1所供应的全部零件的工程号JNO 1)求供应工程J1零件的供应商号码SNO; SELECT DISTINCT SNO FROM SPJ WHERE JNO=‘J1’; SELECT子句后面的DISTINCT表示要在结果中去掉重复的供应商编号SNO。一个供应商可以为一个工程J1提供多种零件。 2)求供应工程J1零件P1的供应商号码SNO; SELECT SNO FROM SPJ WHERE JNO=‘J1’ AND PNO=‘P1’; 3)求供应工程J1零件为红色的供应商号SNO; SELECT DISTINCT SNO FROM SPJ WHERE JNO=‘J1’ AND PNO IN (SELECT PNO FROM P WHERE COLOR=‘红’); 4)求没有使用天津供应商生产的红色零件的工程号JNO; 常见
文档评论(0)