43、 已知有销售表的关系模式和结构如下: sale(id, pno, eno, qty, saledate): 字段名 类型及长度 是否键值 允许null 默认值 字段含义 id int 主键 否 销售编号,自动增值 pno varchar(8) 否 产品编号 eno varchar(8) 否 雇员编号 qty int 否 0 销售数量 saledate date 是 销售日期 请写出在MySQL中创建销售表的SQL语句
时间: 2023-07-16 16:16:11 浏览: 124
在MySQL中创建销售表的SQL语句如下:
```sql
CREATE TABLE sale (
id INT NOT NULL AUTO_INCREMENT,
pno VARCHAR(8) NOT NULL,
eno VARCHAR(8) NOT NULL,
qty INT NOT NULL DEFAULT 0,
saledate DATE,
PRIMARY KEY (id)
);
```
其中,id字段为主键,并设置自动增值;pno、eno、qty字段均为非空字段,其中qty字段的默认值为0;saledate字段允许为空。
相关问题
假设有如下三个关系模式: 商品表:P(PNO,PNAME,CITY,COLOR) 各属性含义依次为商品号、商品名、产地和商品颜色;主键为商品号。 商场表:M(MNO,MNAME,CTY 各属性含义依次为商场号、商场名和商场所在城市:主键为商场号。 销售表:S(MNO,PNO,QTY) 各属性含义依次为商场号、商品号和销售数量。主键为(商场号,商品号) 用SQL 语句写出下列查询
4. 查询销售数量超过100件的商品名和销售数量。
```sql
SELECT P.PNAME, S.QTY
FROM P
INNER JOIN S ON P.PNO = S.PNO
WHERE S.QTY > 100;
```
5. 查询销售数量最多的前5个商品名、销售数量和产地。
```sql
SELECT P.PNAME, S.QTY, P.CITY
FROM P
INNER JOIN S ON P.PNO = S.PNO
ORDER BY S.QTY DESC
LIMIT 5;
```
6. 查询在“北京”销售数量超过100件的商品名、销售数量和销售商场名。
```sql
SELECT P.PNAME, S.QTY, M.MNAME
FROM P
INNER JOIN S ON P.PNO = S.PNO
INNER JOIN M ON S.MNO = M.MNO
WHERE P.CITY = '北京' AND S.QTY > 100;
```
-假设有如下三个关系模式: 商品表:P(PNO,PNAME,CITY,COLOR) 各属性含义依次为商品号、商品名、产地和商品颜色;主键为商品号。 商场表:M(MNO,MNAME,CTY 各属性含义依次为商场号、商场名和商场所在城市:主键为商场号。 销售表:S(MNO,PNO,QTY) 各属性含义依次为商场号、商品号和销售数量。主键为(商场号,商品号) 用SQL 语句写出下列查询
1. 查询商品名为“手机”的销售数量和销售商场名。
```sql
SELECT P.PNAME, S.QTY, M.MNAME
FROM P
INNER JOIN S ON P.PNO = S.PNO
INNER JOIN M ON S.MNO = M.MNO
WHERE P.PNAME = '手机';
```
2. 查询在“北京”销售数量最多的商品名和销售数量。
```sql
SELECT P.PNAME, MAX(S.QTY)
FROM P
INNER JOIN S ON P.PNO = S.PNO
INNER JOIN M ON S.MNO = M.MNO
WHERE M.CTY = '北京'
GROUP BY P.PNAME;
```
3. 查询在“上海”销售的商品种类数。
```sql
SELECT COUNT(DISTINCT P.PNO)
FROM P
INNER JOIN S ON P.PNO = S.PNO
INNER JOIN M ON S.MNO = M.MNO
WHERE M.CTY = '上海';
```
阅读全文