CREATE TABLE J(JNO VARCHAR(5) NOT NULL PRIMARY KEY,
JNAME VARCHAR(20) NOT NULL,
LEADER VARCHAR(10),
BG INT)
CREATE TABLE SPJ(SNO VARCHAR(5) NOT NULL,
PNO VARCHAR(5) NOT NULL,
JNO VARCHAR(5) NOT NULL,
QTY INT,
CONSTRAINT PR_SPJ PRIMARY KEY(SNO,PNO,JNO))
CREATE TABLE P(PNO VARCHAR(5) NOT NULL PRIMARY KEY,
PNAME VARCHAR(20) NOT NULL,
SPEC VARCHAR(20),
CITY NVARCHAR(20);
COLOR NVARCHAR(2))
以上是创建的三个表
找出使用供应商S2供应的全部零件的工程号。
SELECT JNO
FROM J
WHERE NOT EXISTS
(SELECT *
FROM SPJ X
WHERE X.SNO=’S2’ AND NOT EXISTS
(SELECT *
FROM SPJ Y
WHERE Y.JNO=J.JNO AND Y.PNO=X.PNO))
知道只是双重否定,但是具体意思没理解过来,有大神能一句句详解吗
JNAME VARCHAR(20) NOT NULL,
LEADER VARCHAR(10),
BG INT)
CREATE TABLE SPJ(SNO VARCHAR(5) NOT NULL,
PNO VARCHAR(5) NOT NULL,
JNO VARCHAR(5) NOT NULL,
QTY INT,
CONSTRAINT PR_SPJ PRIMARY KEY(SNO,PNO,JNO))
CREATE TABLE P(PNO VARCHAR(5) NOT NULL PRIMARY KEY,
PNAME VARCHAR(20) NOT NULL,
SPEC VARCHAR(20),
CITY NVARCHAR(20);
COLOR NVARCHAR(2))
以上是创建的三个表
找出使用供应商S2供应的全部零件的工程号。
SELECT JNO
FROM J
WHERE NOT EXISTS
(SELECT *
FROM SPJ X
WHERE X.SNO=’S2’ AND NOT EXISTS
(SELECT *
FROM SPJ Y
WHERE Y.JNO=J.JNO AND Y.PNO=X.PNO))
知道只是双重否定,但是具体意思没理解过来,有大神能一句句详解吗
