Initial commit
This commit is contained in:
36
Homework/Homework250313/CreateTable.sql
Normal file
36
Homework/Homework250313/CreateTable.sql
Normal file
@@ -0,0 +1,36 @@
|
||||
USE Homework250313;
|
||||
|
||||
CREATE TABLE S
|
||||
(
|
||||
SNO CHAR(2) PRIMARY KEY,
|
||||
SNAME VARCHAR(20),
|
||||
STATUS INT,
|
||||
CITY VARCHAR(20)
|
||||
);
|
||||
|
||||
CREATE TABLE P
|
||||
(
|
||||
PNO CHAR(2) PRIMARY KEY,
|
||||
PNAME VARCHAR(20),
|
||||
COLOR VARCHAR(10),
|
||||
WEIGHT INT
|
||||
);
|
||||
|
||||
CREATE TABLE J
|
||||
(
|
||||
JNO CHAR(2) PRIMARY KEY,
|
||||
JNAME VARCHAR(20),
|
||||
CITY VARCHAR(20)
|
||||
);
|
||||
|
||||
CREATE TABLE SPJ
|
||||
(
|
||||
SNO CHAR(2),
|
||||
PNO CHAR(2),
|
||||
JNO CHAR(2),
|
||||
QTY INT,
|
||||
PRIMARY KEY (SNO, PNO, JNO),
|
||||
FOREIGN KEY (SNO) REFERENCES S (SNO),
|
||||
FOREIGN KEY (PNO) REFERENCES P (PNO),
|
||||
FOREIGN KEY (JNO) REFERENCES J (JNO)
|
||||
);
|
||||
42
Homework/Homework250313/InsertData.sql
Normal file
42
Homework/Homework250313/InsertData.sql
Normal file
@@ -0,0 +1,42 @@
|
||||
USE Homework250313;
|
||||
INSERT INTO S (SNO, SNAME, STATUS, CITY)
|
||||
VALUES ('S1', N'精益', 20, N'天津'),
|
||||
('S2', N'盛锡', 10, N'北京'),
|
||||
('S3', N'东方红', 30, N'北京'),
|
||||
('S4', N'丰泰盛', 20, N'天津'),
|
||||
('S5', N'为民', 30, N'上海');
|
||||
INSERT INTO P (PNO, PNAME, COLOR, WEIGHT)
|
||||
VALUES ('P1', N'螺母', N'红', 12),
|
||||
('P2', N'螺栓', N'绿', 17),
|
||||
('P3', N'螺丝刀', N'蓝', 14),
|
||||
('P4', N'螺丝刀', N'红', 14),
|
||||
('P5', N'凸轮', N'蓝', 40),
|
||||
('P6', N'齿轮', N'红', 30);
|
||||
INSERT INTO J (JNO, JNAME, CITY)
|
||||
VALUES ('J1', N'三建', N'北京'),
|
||||
('J2', N'一汽', N'长春'),
|
||||
('J3', N'弹簧厂', N'天津'),
|
||||
('J4', N'造船厂', N'天津'),
|
||||
('J5', N'机车厂', N'唐山'),
|
||||
('J6', N'无线电厂', N'常州'),
|
||||
('J7', N'半导体厂', N'南京');
|
||||
INSERT INTO SPJ (SNO, PNO, JNO, QTY)
|
||||
VALUES ('S1', 'P1', 'J1', 200),
|
||||
('S1', 'P1', 'J3', 100),
|
||||
('S1', 'P1', 'J4', 700),
|
||||
('S1', 'P2', 'J2', 100),
|
||||
('S2', 'P3', 'J1', 400),
|
||||
('S2', 'P3', 'J2', 200),
|
||||
('S2', 'P3', 'J4', 500),
|
||||
('S2', 'P3', 'J5', 400),
|
||||
('S2', 'P5', 'J1', 400),
|
||||
('S2', 'P5', 'J2', 100),
|
||||
('S3', 'P1', 'J1', 200),
|
||||
('S3', 'P3', 'J1', 200),
|
||||
('S4', 'P5', 'J1', 100),
|
||||
('S4', 'P6', 'J3', 300),
|
||||
('S4', 'P6', 'J4', 200),
|
||||
('S5', 'P2', 'J4', 100),
|
||||
('S5', 'P3', 'J1', 200),
|
||||
('S5', 'P6', 'J2', 200),
|
||||
('S5', 'P6', 'J4', 50);
|
||||
50
Homework/Homework250313/Query.sql
Normal file
50
Homework/Homework250313/Query.sql
Normal file
@@ -0,0 +1,50 @@
|
||||
USE Homework250313
|
||||
Go
|
||||
-- 求供应工程 J1 零件的供应商号 SNO
|
||||
SELECT DISTINCT SNO
|
||||
FROM SPJ
|
||||
WHERE JNO = 'J1';
|
||||
Go
|
||||
-- 求供应工程 J1 零件 P1 的供应商号 SNO
|
||||
SELECT DISTINCT SNO
|
||||
FROM SPJ
|
||||
WHERE JNO = 'J1'
|
||||
AND PNO = 'P1';
|
||||
Go
|
||||
-- 求供应工程 J1 红色零件的供应商号 SNO
|
||||
SELECT DISTINCT SPJ.SNO
|
||||
FROM SPJ
|
||||
JOIN P ON SPJ.PNO = P.PNO
|
||||
WHERE SPJ.JNO = 'J1'
|
||||
AND P.COLOR = N'红';
|
||||
Go
|
||||
-- 求没有使用天津供应商生产的红色零件的工程号 JNO
|
||||
SELECT JNO
|
||||
FROM J
|
||||
WHERE JNO NOT IN (SELECT DISTINCT SPJ.JNO
|
||||
FROM SPJ
|
||||
JOIN S ON SPJ.SNO = S.SNO
|
||||
JOIN P ON SPJ.PNO = P.PNO
|
||||
WHERE S.CITY = N'天津'
|
||||
AND P.COLOR = N'红');
|
||||
Go
|
||||
-- 求至少用了 S1 供应商所供应的全部零件的工程号 JNO
|
||||
SELECT JNO
|
||||
FROM SPJ
|
||||
WHERE PNO IN (SELECT PNO FROM SPJ WHERE SNO = 'S1')
|
||||
GROUP BY JNO
|
||||
HAVING COUNT(DISTINCT PNO) = (SELECT COUNT(DISTINCT PNO) FROM SPJ WHERE SNO = 'S1');
|
||||
Go
|
||||
-- 找出所有供应商的姓名和所在城市
|
||||
SELECT SNAME, CITY
|
||||
FROM S;
|
||||
Go
|
||||
-- 找出所有零件的名称、颜色、重量
|
||||
SELECT PNAME, COLOR, WEIGHT
|
||||
FROM P;
|
||||
Go
|
||||
-- 找出使用供应商 S1 所供应零件的工程号码
|
||||
SELECT DISTINCT JNO
|
||||
FROM SPJ
|
||||
WHERE SNO = 'S1';
|
||||
Go
|
||||
Reference in New Issue
Block a user