SQL篇-03_SQL必知必会-03_过滤数据

SQL67 返回固定价格的产品

描述
有表Products
prod_id	prod_name
prod_price
a0018	sockets	9.49
a0019	iphone13	600
b0018
gucci t-shirts	1000
【问题】从 Products 表中检索产品 ID(prod_id)和产品名称(prod_name),只返回价格为 9.49 美元的产品。
【示例结果】返回prod_id和prod_name
prod_id	prod_name
a0018	sockets
示例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` DOUBLE NOT NULL COMMENT '产品价格'
);
INSERT INTO `Products` VALUES ('a0018','sockets',9.49),
('a0019','iphone13',600),
('b0019','gucci t-shirts',1000);
复制
输出:
a0018|sockets

答案:

SELECT prod_id, prod_name
FROM Products
WHERE prod_price = 9.49

SQL68 返回更高价格的产品

描述
Products 表
prod_id	prod_name
prod_price
a0018	sockets	9.49
a0019	iphone13	600
b0019
gucci t-shirts	1000
【问题】编写 SQL 语句,从 Products 表中检索产品 ID(prod_id)和产品名称(prod_name),只返回价格为 9 美元或更高的产品。
【示例答案】返回prod_id商品id和prod_name商品名称
prod_id	prod_name
a0018	sockets
a0019	iphone13
b0019
gucci t-shirts
示例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` DOUBLE NOT NULL COMMENT '产品价格'
);
INSERT INTO `Products` VALUES ('a0011','usb',9.49),
('a0019','iphone13',600),
('b0019','gucci t-shirts',1000);
复制
输出:
a0011|usb
a0019|iphone13
b0019|gucci t-shirts

答案:

SELECT prod_id, prod_name
FROM Products
WHERE prod_price = 9 OR prod_price > 9

SQL69 返回产品并且按照价格排序

描述
有Products 表
prod_id	prod_name
prod_price
a0011	egg	3
a0019	sockets	4
b0019
coffee	15
【问题】编写 SQL 语句,返回 Products 表中所有价格在 3 美元到 6 美元之间的产品的名称(prod_name)和价格(prod_price),然后按价格对结果进行排序
【示例结果】返回商品名称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` DOUBLE NOT NULL COMMENT '产品价格'
);
INSERT INTO `Products` VALUES ('a0011','egg',3),
('a0019','sockets',4),
('b0019','coffee',15);
复制
输出:
egg|3.000
sockets|4.000

答案:

SELECT prod_name, prod_price
FROM Products
WHERE prod_price BETWEEN 3 AND 6
ORDER BY prod_price

SQL70 返回更多的产品

描述
OrderItems表含有:订单号order_num,quantity产品数量
order_num	quantity
a1	105
a2	1100
a2	200
a4	1121
a5	10
a2	19
a7	5
【问题】从 OrderItems 表中检索出所有不同且不重复的订单号(order_num),其中每个订单都要包含 100 个或更多的产品。
【示例结果】返回订单号列order_num
order_num
a1
a2
a4
示例1
输入:
DROP TABLE IF EXISTS `OrderItems`;
CREATE TABLE IF NOT EXISTS `OrderItems`(
	order_num VARCHAR(255) NOT NULL COMMENT '商品订单号',
	quantity VARCHAR(255) NOT NULL COMMENT '商品数量'
);
INSERT `OrderItems` VALUES ('a1','105'),('a2','1100'),('a2','200'),('a4','1121'),('a5','10'),('a2','19'),('a7','5')
复制
输出:
a1
a2
a4

答案:

SELECT DISTINCT order_num
FROM OrderItems
WHERE quantity >= 100

你可能感兴趣的:(#,在线编程,sql,数据库,java)