建立商品销售数据库SPXS,并SPXS数据库中用CREAT TABLE语句建立如下三个表:
时间: 2023-12-22 16:05:55 浏览: 68
好的,以下是创建SPXS数据库和三个表的SQL代码:
```sql
-- 创建SPXS数据库
CREATE DATABASE SPXS;
-- 切换到SPXS数据库
USE SPXS;
-- 创建商品表
CREATE TABLE Product(
ProductID INT PRIMARY KEY,
ProductName VARCHAR(50) NOT NULL,
CategoryID INT NOT NULL,
Price DECIMAL(10,2) NOT NULL,
Stock INT NOT NULL
);
-- 创建分类表
CREATE TABLE Category(
CategoryID INT PRIMARY KEY,
CategoryName VARCHAR(50) NOT NULL
);
-- 创建订单表
CREATE TABLE Order(
OrderID INT PRIMARY KEY,
CustomerID INT NOT NULL,
OrderTime DATETIME NOT NULL,
TotalPrice DECIMAL(10,2) NOT NULL
);
```
请注意,由于`Order`是SQL保留字,在创建`Order`表时需要使用其他名称。此外,以上代码仅为示例,具体的表结构应根据实际情况进行设计。
相关问题
建立商品销售数据库SPXS,并SPXS数据库中用CREAT TABLE语句建立如下三个表: 商店S: sno sname city S1 百盛 北京 S2 沃尔玛 深圳 S3 华联 长春 S4 国商 长春 S5 百货大楼 北京商品P: Pno pname color price P1 电视 黑 5000 P2 冰箱 灰 3000 P3 洗衣机 白 3500 P4 电饭煲 白 1500 P5 电磁炉 黑 500销售SP: pno sno qty p1 S1 100 P3 S1 200 P1 S2 50 P2 S2 30 P2 S3 60 P1 S4 150 P2 S4 120 P4 S5 90 P5 S5 60
好的,以下是创建SPXS数据库和三个表的SQL代码:
```sql
-- 创建SPXS数据库
CREATE DATABASE SPXS;
-- 切换到SPXS数据库
USE SPXS;
-- 创建商店表
CREATE TABLE S(
sno CHAR(2) PRIMARY KEY,
sname VARCHAR(20) NOT NULL,
city VARCHAR(20) NOT NULL
);
-- 插入商店数据
INSERT INTO S VALUES
('S1', '百盛', '北京'),
('S2', '沃尔玛', '深圳'),
('S3', '华联', '长春'),
('S4', '国商', '长春'),
('S5', '百货大楼', '北京');
-- 创建商品表
CREATE TABLE P(
pno CHAR(2) PRIMARY KEY,
pname VARCHAR(20) NOT NULL,
color VARCHAR(10) NOT NULL,
price DECIMAL(10, 2) NOT NULL
);
-- 插入商品数据
INSERT INTO P VALUES
('P1', '电视', '黑', 5000),
('P2', '冰箱', '灰', 3000),
('P3', '洗衣机', '白', 3500),
('P4', '电饭煲', '白', 1500),
('P5', '电磁炉', '黑', 500);
-- 创建销售表
CREATE TABLE SP(
pno CHAR(2) NOT NULL,
sno CHAR(2) NOT NULL,
qty INT NOT NULL,
PRIMARY KEY (pno, sno),
FOREIGN KEY (pno) REFERENCES P (pno),
FOREIGN KEY (sno) REFERENCES S (sno)
);
-- 插入销售数据
INSERT INTO SP VALUES
('P1', 'S1', 100),
('P3', 'S1', 200),
('P1', 'S2', 50),
('P2', 'S2', 30),
('P2', 'S3', 60),
('P1', 'S4', 150),
('P2', 'S4', 120),
('P4', 'S5', 90),
('P5', 'S5', 60);
```
注意,以上代码仅为示例,具体的表结构和数据应根据实际情况进行设计。
针对实验一建立的SPXS数据库中的三个表,实现如下查询: (1)查询与商品“电视”颜色相同的商品名; (2)查询不销售商品P2的商店名; (3)查询至少销售商品P1、P2两种商品的商店名; (4)所有商店都销售的商品号。 (5)只销售一种商品P4的商店名。写SQL语句
(1)查询与商品“电视”颜色相同的商品名:
```
SELECT b.PNAME
FROM SPXS_GOODS a
JOIN SPXS_GOODS b ON a.CLR=b.CLR AND a.PNAME!='电视' AND b.PNAME!='电视';
```
(2)查询不销售商品P2的商店名:
```
SELECT b.SNAME
FROM SPXS_GOODS a
RIGHT JOIN SPXS_STORE b ON a.SNO=b.SNO AND a.PNO!='P2'
WHERE a.PNO IS NULL;
```
(3)查询至少销售商品P1、P2两种商品的商店名:
```
SELECT b.SNAME
FROM SPXS_GOODS a
JOIN SPXS_STORE b ON a.SNO=b.SNO
WHERE a.PNO IN ('P1','P2')
GROUP BY b.SNO
HAVING COUNT(DISTINCT a.PNO)>=2;
```
(4)所有商店都销售的商品号:
```
SELECT a.PNO
FROM SPXS_GOODS a
GROUP BY a.PNO
HAVING COUNT(DISTINCT a.SNO)=(SELECT COUNT(*) FROM SPXS_STORE);
```
(5)只销售一种商品P4的商店名:
```
SELECT b.SNAME
FROM SPXS_GOODS a
JOIN SPXS_STORE b ON a.SNO=b.SNO
WHERE a.PNO='P4'
GROUP BY b.SNO
HAVING COUNT(DISTINCT a.PNO)=1;
```