创建view_goods视图:要求显示sh_goods表中前3条记录的id,name,price及price8折后的字段信息 b、创建视图,要求显示商品的id,name及分类名;同时查询该视图的前3条记录
时间: 2024-03-08 17:45:53 浏览: 27
好的,针对你的要求,我来为你解答。
1. 创建view_goods视图:
```
CREATE VIEW view_goods AS
SELECT id, name, price, price*0.8 AS price_discount FROM sh_goods LIMIT 3;
```
上述代码中,我们创建了一个名为view_goods的视图,通过SELECT语句查询sh_goods表中前3条记录的id,name,price及price8折后的字段信息,其中price_discount是计算后的新字段,表示打8折后的价格。
2. 创建包含商品id、name及分类名的视图,并查询前3条记录:
```
CREATE VIEW view_goods_category AS
SELECT g.id, g.name, c.name AS category_name FROM sh_goods AS g
INNER JOIN sh_category AS c ON g.category_id=c.id;
SELECT id, name, category_name FROM view_goods_category LIMIT 3;
```
上述代码中,我们创建了一个名为view_goods_category的视图,通过INNER JOIN语句连接sh_goods和sh_category表,查询商品id、name及分类名,并将其存储为视图。最后,通过SELECT语句查询该视图的前3条记录,得到我们想要的结果。
相关问题
任务1:完成视图view_goods的创建,要求显示商品表中价格在200到600之间的商品id,name,price。并查看该视图查询结果。
首先,我们需要在数据库中创建一个视图 view_goods,该视图可以显示商品表中价格在 200 到 600 之间的商品 id、name、price。
以下是创建 view_goods 视图的 SQL 语句:
```
CREATE VIEW view_goods AS
SELECT id, name, price
FROM goods
WHERE price BETWEEN 200 AND 600;
```
该语句会创建一个名为 view_goods 的视图,该视图会从 goods 表中选取价格在 200 到 600 之间的商品,并显示它们的 id、name、price。
接下来,我们可以使用以下 SQL 语句查看该视图的查询结果:
```
SELECT * FROM view_goods;
```
该语句会显示所有价格在 200 到 600 之间的商品的 id、name、price。
sh_view_cate_attr:用于根据商品分类id查找所有属性信息。 商品属性表sh_goods_attr:
根据提供的引用内容,可以创建一个名为sh_view_cate_attr的视图,用于根据商品分类id查找所有属性信息。具体步骤如下:
1. 首先,需要在sh_goods_attr表中添加一个外键,将其与sh_goods_category表中的id列关联起来,以便在查询时能够根据商品分类id查找所有属性信息。可以使用以下SQL语句添加外键:
```sql
ALTER TABLE sh_goods_attr ADD CONSTRAINT fk_goods_category_id FOREIGN KEY (category_id) REFERENCES sh_goods_category(id);
```
2. 接下来,可以创建一个名为sh_view_cate_attr的视图,用于根据商品分类id查找所有属性信息。可以使用以下SQL语句创建视图:
```sql
CREATE VIEW sh_view_cate_attr AS
SELECT g.id AS goods_id, g.name AS goods_name, c.id AS category_id, c.name AS category_name, a.id AS attr_id, a.name AS attr_name, a.value AS attr_value
FROM sh_goods g
JOIN sh_goods_category c ON g.category_id = c.id
JOIN sh_goods_attr a ON a.category_id = c.id
WHERE c.id = <商品分类id>;
```
其中,<商品分类id>需要替换为实际的商品分类id。
3. 最后,可以查询sh_view_cate_attr视图,以查找指定商品分类id的所有属性信息。可以使用以下SQL语句查询:
```sql
SELECT * FROM sh_view_cate_attr; ```
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)