描述
有表Customers,cust_id代表客户id,cust_name代表客户姓名。
cust_id
cust_name
a1
andy
a2 ben
a3 tony
a4 tom
a5
an
a6
lee
a7 hex
【问题】从 Customers 中检索所有的顾客名称(cust_name),并按从 Z 到 A 的顺序显示结果。
【示例结果】返回客户姓名cust_name
cust_name
tony
tom
lee
hex
ben
andy
an
示例1
输入:
DROP TABLE IF EXISTS `Customers`;
CREATE TABLE IF NOT EXISTS `Customers`(
cust_id VARCHAR(255) NOT NULL COMMENT '客户id',
cust_name VARCHAR(255) NOT NULL COMMENT '客户姓名'
);
INSERT `Customers` VALUES ('a1','andy'),('a2','ben'),('a3','tony'),('a4','tom'),('a5','an'),('a6','lee'),('a7','hex');
复制
输出:
cust_name
tony
tom
lee
hex
ben
andy
an
答案:
SELECT cust_name
FROM Customers
ORDER BY cust_name desc
描述
有Orders表
cust_id order_num order_date
andy aaaa 2021-01-01 00:00:00
andy bbbb 2021-01-01 12:00:00
bob cccc 2021-01-10 12:00:00
dick dddd 2021-01-11 00:00:00
【问题】编写 SQL 语句,从 Orders 表中检索顾客 ID(cust_id)和订单号(order_num),并先按顾客 ID 对结果进行排序,再按订单日期倒序排列。
【示例答案】
返回2列,cust_id和order_num
cust_id order_num
andy bbbb
andy aaaa
bob cccc
dick dddd
【示例解析】
首先根据cust_id进行排列,andy在bob和dick前,再根据order_date进行排列,订单号bbbb的订单时间是 "2021-01-01 12:00:00"大于订单号aaaa的时间"2021-01-01 00:00:00"
示例1
输入:
DROP TABLE IF EXISTS `Orders`;
CREATE TABLE IF NOT EXISTS `Orders` (
`cust_id` varchar(255) NOT NULL COMMENT '顾客 ID',
`order_num` varchar(255) NOT NULL COMMENT '订单号',
`order_date` timestamp NOT NULL COMMENT '订单时间'
);
INSERT INTO `Orders` VALUES ('andy','aaaa','2021-01-01 00:00:00'),
('andy','bbbb','2021-01-01 12:00:00'),
('bob','cccc','2021-01-10 12:00:00'),
('dick','dddd','2021-01-11 00:00:00');
复制
输出:
andy|bbbb
andy|aaaa
bob|cccc
dick|dddd
答案:
SELECT cust_id, order_num
FROM Orders
ORDER BY cust_id, order_date desc
描述
假设有一个OrderItems表
quantity item_price
1 100
10 1003
2
500
【问题】
编写 SQL 语句,显示 OrderItems 表中的数量(quantity)和价格(item_price),并按数量由多到少、价格由高到低排序。
【示例答案】
返回quantity和item_price
示例1
输入:
DROP TABLE IF EXISTS `OrderItems`;
CREATE TABLE IF NOT EXISTS `OrderItems` (
`quantity` INT(64) NOT NULL COMMENT '数量',
`item_price` INT(64) NOT NULL COMMENT '订单价格'
);
INSERT INTO `OrderItems` VALUES (1,100),
(10,1003),
(2,500);
复制
输出:
10|1003
2|500
1|100
答案:
SELECT quantity, item_price
FROM OrderItems
ORDER BY quantity desc, item_price desc
描述
有Vendors表
vend_name
海底捞
小龙坎
大龙燚
【问题】下面的 SQL 语句有问题吗?尝试将它改正确,使之能够正确运行,并且返回结果根据vend_name逆序排列
SELECT vend_name,
FROM Vendors
ORDER vend_name DESC;
【示例展示】
返回vend_name
vend_name
海底捞
小龙坎
大龙燚
示例1
输入:
DROP TABLE IF EXISTS `Vendors`;
CREATE TABLE IF NOT EXISTS `Vendors` (
`vend_name` VARCHAR(255) NOT NULL COMMENT 'vend名称'
);
INSERT INTO `Vendors` VALUES ('海底捞'),
('小龙坎'),
('大龙燚');
复制
输出:
海底捞
小龙坎
大龙燚
答案:
SELECT vend_name
FROM Vendors
ORDER BY vend_name DESC;