设有商品表“goods”,商品类别表“category”,两表都包含表示类别id的列“cid”。查询每类商称、商品种数,要求不包含商品的类别也显示出来,语句是: SELECT cname_(gid)AS 商品种数 FROM category_goods ON BY cname;
时间: 2024-04-01 14:38:31 浏览: 61
抱歉,您的查询语句有一些错误。正确的语句应该是:
SELECT category.cname, COUNT(goods.gid) AS 商品种数
FROM category
LEFT JOIN goods
ON category.cid = goods.cid
GROUP BY category.cname;
这条语句会查询出每个商品类别的名称以及该类别下商品的种数,即使该类别下没有商品也会显示出来。其中,使用了左连接(LEFT JOIN)来连接商品表和商品类别表,保证了即使该类别下没有商品也会显示出来。同时,使用了 GROUP BY 子句来按照商品类别进行分组,并使用 COUNT 函数来统计每个组中的商品数量。
相关问题
设有商品表“goods”,商品类别表“category”,两表都包含表示类别id的列“cid”,查询所有图书类商品的商品名称、分类id、价格,语句是:
可以使用 INNER JOIN 连接商品表和分类表,然后通过 WHERE 子句筛选出类别id为图书类的商品。具体语句如下:
```sql
SELECT goods.商品名称, goods.cid AS 分类id, goods.价格
FROM goods
INNER JOIN category
ON goods.cid = category.cid
WHERE category.类别名称 = '图书类';
```
以上语句中,将表 goods 和表 category 通过 INNER JOIN 进行关联,关联条件为 `goods.cid = category.cid`。然后通过 WHERE 子句筛选出类别名称为“图书类”的商品。最后选择商品名称、分类id和价格三列。
期末测试 设有商品表“goods”,商品类别表“category”,两表都包含表示类别id的列“cid”,查询所有图书类商品的商品名称、分类id、价格, 语句是: SELECT gname,gprice FROM goods JOIN_ USING WHERE cname=图书; 0>
您的查询语句有一些错误,下面是修改后的语句:
```
SELECT goods.gname, goods.gprice, category.cid
FROM goods
JOIN category
USING(cid)
WHERE category.cname = '图书';
```
这条语句会查询出所有图书类商品的商品名称、分类id、价格。其中,使用了 JOIN 子句来连接商品表和商品类别表,并使用了 USING 子句来指定连接的列为 cid,保证了连接的正确性。同时,使用了 WHERE 子句来限定只查询分类名称为“图书”的商品。最终,通过 SELECT 子句来查询需要显示的列。
阅读全文