用mysql查询商品进价低于100的商品类别有哪些
时间: 2024-05-01 12:23:36 浏览: 8
假设商品表为`products`,包含字段`category`和`cost_price`,可以使用如下SQL查询语句:
```
SELECT category FROM products WHERE cost_price < 100;
```
这会返回所有进价低于100的商品类别。如果想要去重,可以在`SELECT`语句中使用`DISTINCT`关键字:
```
SELECT DISTINCT category FROM products WHERE cost_price < 100;
```
相关问题
Mysql查询低于平均价格的所有商品信息(左外连接)
好的,这是一道关于 MySQL 的 SQL 查询题目。根据您提供的要求,以下是查询低于平均价格的所有商品信息的 SQL 查询语句:
```
SELECT p.*
FROM product p
LEFT JOIN (
SELECT AVG(price) AS avg_price
FROM product
) avg ON p.price < avg.avg_price
WHERE p.price IS NOT NULL;
```
这个查询语句会从 `product` 表中查询所有商品信息,并通过左外连接(LEFT JOIN)与一个子查询进行连接。这个子查询会计算出所有商品价格的平均值,并将其命名为 `avg_price`。然后,查询会筛选出所有价格低于平均价格的商品,并返回它们的所有信息。
需要注意的是,这个查询语句还包括了一个 `WHERE` 子句,用于排除价格为 `NULL` 的商品。如果您的数据中可能存在价格为空的商品,可以根据实际情况进行调整。
使用MySQL创建商品表和商品分类表,通过商品名称查询到商品分类
好的,以下是创建商品表和商品分类表的MySQL语句:
```mysql
-- 创建商品分类表
CREATE TABLE category (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
PRIMARY KEY (id)
);
-- 创建商品表
CREATE TABLE product (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
price DECIMAL(10,2) NOT NULL,
category_id INT NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (category_id) REFERENCES category(id)
);
```
上述代码创建了两个表,`category`表示商品分类,包括`id`和`name`两个字段,`id`为主键;`product`表示商品,包括`id`、`name`、`price`和`category_id`四个字段,`id`为主键,`category_id`为外键,关联到`category`表的`id`字段上。
如果需要通过商品名称查询到商品分类,可以使用如下查询语句:
```mysql
SELECT c.name AS category_name
FROM product p
JOIN category c ON p.category_id = c.id
WHERE p.name = '商品名称';
```
以上查询语句会返回一个名为`category_name`的字段,表示查询到的商品所属的分类名称。将其中的`商品名称`替换为具体的商品名称即可进行查询。