本文主要是介绍10-8 spj-查询至少使用s1供应商所供应的全部零件的工程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
分数 10
全屏浏览题目
切换布局
作者 张庆
单位 集美大学
本题目要求编写SQL语句,在SPJ
数据库中,查询至少用了s1
供应商所供应的全部零件的工程号jno
。
提示:请使用SELECT语句作答。
表结构:
请在这里写定义表结构的SQL语句。例如:
CREATE TABLE `j` ( -- 工程项目表`jno` char(3) NOT NULL,-- 工程项目号`jname` varchar(10) DEFAULT NULL,`city` varchar(10) DEFAULT NULL,PRIMARY KEY (`jno`)
);
CREATE TABLE `p` ( -- 零件表`pno` char(3) NOT NULL, -- 零件号`pname` varchar(10) DEFAULT NULL,`color` char(2) DEFAULT NULL,`weight` smallint(6) DEFAULT NULL,PRIMARY KEY (`pno`)
);
CREATE TABLE `s` ( -- 供应商表`sno` char(3) NOT NULL, -- 供应商号`sname` varchar(10) DEFAULT NULL,`status` char(2) DEFAULT NULL,`city` varchar(10) DEFAULT NULL,PRIMARY KEY (`sno`)
);
CREATE TABLE `spj` ( -- 零件供应表`sno` char(3) NOT NULL,`pno` char(3) NOT NULL,`jno` char(3) NOT NULL,`qty` smallint(6) DEFAULT NULL,PRIMARY KEY (`sno`,`pno`,`jno`),CONSTRAINT `fk_jno` FOREIGN KEY (`jno`) REFERENCES `j` (`jno`),CONSTRAINT `fk_pno` FOREIGN KEY (`pno`) REFERENCES `p` (`pno`),CONSTRAINT `fk_sno` FOREIGN KEY (`sno`) REFERENCES `s` (`sno`)
);
表样例
请在这里给出上述表结构对应的表样例。例如
s
表:
p
表:
j
表:
spj
表:
输出样例:
请在这里给出输出样例。例如:
select jno from spj
where sno='s1'
and pno in(select distinct(pno) from spj
where sno='s1')
group by jno
having count(jno)=
(select count(a.pno) sum_pno
from (select pno from spj where sno='s1'group by pno)a)
这篇关于10-8 spj-查询至少使用s1供应商所供应的全部零件的工程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!