本题目要求编写SQL语句, 结合sh_goods表和sh_goods_category表,使用内连接的方式查询商品id、商品名称以及其商品分类id和分类名称。注意:查询结果显示字段依据输出样例设置。 提示:请使用SELECT语句作答。
时间: 2024-03-01 20:51:12 浏览: 259
好的,根据您的要求,以下是SQL语句:
```
SELECT sh_goods.goods_id, sh_goods.goods_name, sh_goods_category.cat_id, sh_goods_category.cat_name
FROM sh_goods
INNER JOIN sh_goods_category
ON sh_goods.cat_id = sh_goods_category.cat_id;
```
希望能够帮到您!
相关问题
本题目要求编写SQL语句, 查询sh_goods表中分类id为3的商品中,其价格比分类id为8的所有商品价格都低的商品信息。注意:查询结果显示字段依据输出样例设置
以下是符合要求的SQL语句:
```
SELECT g.id, g.name, g.price
FROM sh_goods g
WHERE g.category_id = 3 AND g.price < ALL(SELECT price FROM sh_goods WHERE category_id = 8)
```
该语句中,使用子查询找到分类id为8的所有商品价格,然后使用ALL关键字来筛选出分类id为3的商品中价格比这个列表中所有价格都低的商品信息。最终只显示商品id、商品名称和商品价格三个字段。
创建视图,包含拥有属性值个数大于1的商品信息 分数 4 作者 龙彦宇 单位 广东东软学院 本题目要求编写SQL语句, 结合sh_goods表和sh_goods_attr_value表创建视图view_goods_2,包含拥有属性值的数量大于1个的商品对应的商品id和name。 表结构: CREATE TABLE sh_goods ( id INT PRIMARY KEY, --商品id category_id INT NOT NULL DEFAULT 0 , -- 商品分类id name VARCHAR(120) NOT NULL, --商品名称 keyword VARCHAR(255) NOT NULL, -- 关键词编号 content TEXT NOT NULL , --商品详情 price DECIMAL(10, 2) NOT NULL DEFAULT 0 , --价格 stock INT NOT NULL DEFAULT 0, -- 库存 score DECIMAL(3, 2) NOT NULL DEFAULT 0 , -- 用户评分 comment_count INT NOT NULL DEFAULT 0 -- 评论数量 ) ; CREATE TABLE sh_goods_attr_value (
id INT PRIMARY KEY, -- 属性值id
goods_id INT NOT NULL DEFAULT 0 , -- 商品id
attr_id INT NOT NULL DEFAULT 0, -- 属性id
attr_value VARCHAR(255) NOT NULL -- 属性值
);
创建视图的SQL语句如下:
```
CREATE VIEW view_goods_2 AS
SELECT g.id, g.name
FROM sh_goods g
INNER JOIN (
SELECT goods_id, COUNT(DISTINCT attr_id) AS attr_count
FROM sh_goods_attr_value
GROUP BY goods_id
HAVING attr_count > 1
) av ON g.id = av.goods_id;
```
解释:
首先,我们使用INNER JOIN将sh_goods表和sh_goods_attr_value表连接起来。然后,使用子查询获取属性值数量大于1的商品对应的商品id和属性值数量。最后,我们在主查询中选择商品id和商品名称,并将其存储在视图view_goods_2中。
阅读全文