描述
Vendors表有字段供应商名称(vend_name)、供应商国家(vend_country)、供应商州(vend_state)
vend_name vend_country vend_state
apple USA CA
vivo CNA shenzhen
huawei CNA xian
【问题】编写 SQL 语句,从 Vendors 表中检索供应商名称(vend_name),仅返回加利福尼亚州的供应商(这需要按国家[USA]和州[CA]进行过滤,没准其他国家也存在一个CA)
【示例答案】返回供应商名称vend_name
vend_name
apple
示例1
输入:
DROP TABLE IF EXISTS `Vendors`;
CREATE TABLE IF NOT EXISTS `Vendors` (
`vend_name` VARCHAR(255) NOT NULL COMMENT 'vend名称',
`vend_country` VARCHAR(255) NOT NULL COMMENT 'vend国家',
`vend_state` VARCHAR(255) NOT NULL COMMENT 'vend州'
);
INSERT INTO `Vendors` VALUES ('apple','USA','CA'),
('vivo','CNA','shenzhen'),
('huawei','CNA','xian');
复制
输出:
apple
答案:
SELECT vend_name
FROM Vendors
WHERE vend_state = 'CA' AND vend_country = 'USA'
描述
OrderItems 表包含了所有已订购的产品(有些已被订购多次)。
prod_id
order_num quantity
BR01 a1 105
BR02 a2 1100
BR02 a2 200
BR03 a4 1121
BR017 a5 10
BR02 a2 19
BR017 a7 5【
问题】编写SQL 语句,查找所有订购了数量至少100 个的 BR01、BR02 或BR03 的订单。你需要返回 OrderItems 表的订单号(order_num)、产品 ID(prod_id)和数量(quantity),并按产品 ID 和数量进行过滤。
【示例答案】返回商品id prod_id、订单order_num、数量quantity。
order_num prod_id quantity
a1 BR01 105
a2 BR02 1100
a2 BR02 200
a4 BR03 1121
【示例解析】
返回的结果中,数量满足大于等于100,且满足prod_id 是"BR01",“BR02”,“BR03"中的任意一个。
示例1
输入:
DROP TABLE IF EXISTS `OrderItems`;
CREATE TABLE IF NOT EXISTS `OrderItems`(
prod_id VARCHAR(255) NOT NULL COMMENT '商品号',
order_num VARCHAR(255) NOT NULL COMMENT '商品订单号',
quantity INT(255) NOT NULL COMMENT '商品数量'
);
INSERT `OrderItems` VALUES ('BR01','a1','105'),('BR02','a2','1100'),('BR02','a2','200'),('BR03','a4','1121'),('BR017','a5','10'),('BR02','a2','19'),('BR017','a7','5')
复制
输出:
a1|BR01|105
a2|BR02|1100
a2|BR02|200
a4|BR03|1121
答案:
SELECT order_num, prod_id, quantity
FROM OrderItems
WHERE quantity >= 100 AND prod_id IN ('BR01','BR02','BR03')
描述
有表Products
prod_id prod_name prod_price
a0011 egg 3
a0019 sockets 4
b0019 coffee 15
【问题】编写 SQL 语句,返回所有价格在 3美元到 6美元之间的产品的名称(prod_name)和价格(prod_price),使用 AND操作符,然后按价格对结果进行升序排序
【示例结果】
返回商品名称prod_name和商品价格prod_price
prod_name prod_price
egg 3
sockets 4
注:不需要考虑价格相同时的排序问题
示例1
输入:
DROP TABLE IF EXISTS `Products`;
CREATE TABLE IF NOT EXISTS `Products` (
`prod_id` VARCHAR(255) NOT NULL COMMENT '产品 ID',
`prod_name` VARCHAR(255) NOT NULL COMMENT '产品名称',
`prod_price` INT(255) NOT NULL COMMENT '产品价格'
);
INSERT INTO `Products` VALUES ('a0011','egg',3),
('a0019','sockets',4),
('b0019','coffee',15);
复制
输出:
egg|3
sockets|4
答案:
SELECT prod_name, prod_price
FROM Products
WHERE prod_price >=3 AND prod_price <= 6
ORDER BY prod_price
描述
供应商表Vendors有字段供应商名称vend_name、供应商国家vend_country、供应商省份vend_state
vend_name vend_country vend_state
apple USA CA
vivo CNA shenzhen
huawei CNA xian
【问题】修改正确下面sql,使之正确返回
SELECT vend_name
FROM Vendors
ORDER BY vend_name
WHERE vend_country = 'USA' AND vend_state = 'CA';
【示例结果】
结果返回vend_name
vend_name
apple
示例1
输入:
DROP TABLE IF EXISTS `Vendors`;
CREATE TABLE IF NOT EXISTS `Vendors` (
`vend_name` VARCHAR(255) NOT NULL COMMENT 'vend名称',
`vend_country` VARCHAR(255) NOT NULL COMMENT 'vend国家',
`vend_state` VARCHAR(255) NOT NULL COMMENT 'vend州'
);
INSERT INTO `Vendors` VALUES ('apple','USA','CA'),
('beef noodle king','USA','CA'),
('vivo','CNA','shenzhen'),
('huawei','CNA','xian');
复制
输出:
apple
beef noodle king
答案:
SELECT vend_name
FROM Vendors
WHERE vend_country = 'USA' AND vend_state = 'CA'
ORDER BY vend_name