文档详情

第3章习题解答 课件 教程.ppt

发布:2017-05-07约7.51千字共25页下载文档
文本预览下载声明
第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; 常见
显示全部
相似文档