CREATEDATABASEIFNOTEXISTS TEST_DB;
USE TEST_DB;
#S_tableCREATETABLE S
(SNO CHAR(10) PRIMARY KEY,
SNAME CHAR(10) UNIQUE,
STATUSSMALLINT,
CITY CHAR(10)
);
INSERTINTO S VALUES ('S1', '精益', 20,'天津');
INSERTINTO S VALUES ('S2', '盛锡', 10,'北京');
INSERTINTO S VALUES ('S3', '东方红', 30,'北京');
INSERTINTO S VALUES ('S4', '丰泰盛', 20,'天津');
INSERTINTO S VALUES ('S5', '为民', 30,'上海');
#P_TABLECREATETABLE P
(PNO CHAR(10) PRIMARY KEY,
PNAME CHAR(10) ,
COLOR CHAR(10) ,
WEIGHT SMALLINT
);
INSERTINTO P VALUES ('P1', '螺母','红',12);
INSERTINTO P VALUES ('P2', '螺栓','绿',17);
INSERTINTO P VALUES ('P3', '螺丝刀','蓝',14);
INSERTINTO P VALUES ('P4', '螺丝刀','红',14);
INSERTINTO P VALUES ('P5', '凸轮','蓝',40);
INSERTINTO P VALUES ('P6', '齿轮','红',30);
#J_TABLECREATETABLE J
(JNO CHAR(10) PRIMARY KEY,
JNAME CHAR(10) UNIQUE,
CITY CHAR(10)
);
INSERTINTO J VALUES('J1','三建','北京');
INSERTINTO J VALUES('J2','一汽','长春');
INSERTINTO J VALUES('J3','弹簧厂','天津');
INSERTINTO J VALUES('J4','造船厂','天津');
INSERTINTO J VALUES('J5','机车厂','唐山');
INSERTINTO J VALUES('J6','无线电厂','常州');
INSERTINTO J VALUES('J7','半导体厂','南京');
#SPJ_tableCREATETABLE SPJ
(SNO CHAR(10),
PNO CHAR(10),
JNO CHAR(10),
QTY SMALLINT,
PRIMARY KEY(SNO,PNO,JNO),
FOREIGNKEY (SNO)REFERENCES S(SNO),
FOREIGNKEY (PNO)REFERENCES P(PNO),
FOREIGNKEY (JNO)REFERENCES J(JNO)
);
INSERTINTO SPJ VALUES('S1','P1','J1',200);
INSERTINTO SPJ VALUES('S1','P1','J3',100);
INSERTINTO SPJ VALUES('S1','P1','J4',700);
INSERTINTO SPJ VALUES('S1','P2','J2',100);
INSERTINTO SPJ VALUES('S2','P3','J1',400);
INSERTINTO SPJ VALUES('S2','P3','J2',200);
INSERTINTO SPJ VALUES('S2','P3','J4',500);
INSERTINTO SPJ VALUES('S2','P3','J5',400);
INSERTINTO SPJ VALUES('S2','P5','J1',400);
INSERTINTO SPJ VALUES('S2','P5','J2',100);
INSERTINTO SPJ VALUES('S3','P1','J1',200);
INSERTINTO SPJ VALUES('S3','P3','J1',200);
INSERTINTO SPJ VALUES('S4','P5','J1',100);
INSERTINTO SPJ VALUES('S4','P6','J3',300);
INSERTINTO SPJ VALUES('S4','P6','J4',200);
INSERTINTO SPJ VALUES('S5','P2','J4',100);
INSERTINTO SPJ VALUES('S5','P3','J1',200);
INSERTINTO SPJ VALUES('S5','P6','J2',200);
INSERTINTO SPJ VALUES('S5','P6','J4',500);
SELECT SNO FROM SPJ WHERE JNO='J1';
SELECT SNO FROM SPJ WHERE JNO='J1'AND PNO='P1';
SELECT SNO FROM SPJ WHERE JNO='J1'AND (PNO IN (SELECT PNO FROM P WHERE COLOR='红'));
SELECT JNO FROM J WHERENOTEXISTS (SELECT * FROM SPJ WHERE SPJ.JNO=J.JNO AND SNO IN (SELECT SNO FROM S WHERE CITY='天津') AND PNO IN (SELECT PNO FROM P WHERE COLOR='红'));
SELECTDISTINCT A.JNO FROM SPJ AS A WHERENOTEXISTS ((SELECTDISTINCT PNO FROM SPJ WHERE SNO='S1')EXCEPT(SELECTDISTINCT PNO FROM SPJ WHERE JNO=A.JNO));
SELECT P.PNAME,SPJ.QTY FROM P,SPJ WHERE P.PNO=SPJ.PNO AND SPJ.JNO='J2';
SELECTDISTINCT PNO FROM SPJ WHERE SNO IN (SELECT SNO FROM S WHERE CITY='上海') ;
SELECT JNAME FROM J WHERE JNO IN(SELECT JNO FROM SPJ WHERE SNO IN (SELECT SNO FROM S WHERE CITY='上海'));
SELECT JNAME FROM J,SPJ,S WHERE J.JNO=SPJ.JNO AND S.SNO=SPJ.SNO AND S.CITY='上海';
SELECT JNO FROM J WHERE JNO NOTIN(SELECT JNO FROM SPJ WHERE SNO IN(SELECT SNO FROM S WHERE CITY='天津'));
SELECT JNO FROM J WHERENOTEXISTS(SELECT * FROM SPJ,S WHERE SPJ.SNO=S.SNO AND SPJ.JNO=J.JNO AND S.CITY='天津');
#UPDATE SPJ SET SNO='S3' WHERE SNO='S5' AND JNO='J4';#DELETE FROM SPJ WHERE SNO='S2';#DELETE FROM S WHERE SNO='S2';#INSERT INTO SPJ VALUES('S2','J6','P4',200);#SELECT * FROM SPJ;CREATEVIEW V_SPJ ASSELECT SNO,PNO,QTY FROM SPJ WHERE JNO IN(SELECT JNO FROM J WHERE JNAME='三建');
SELECT PNO,QTY FROM V_SPJ;
SELECT SNO,PNO,QTY FROM V_SPJ WHERE SNO='S1';