MySQL分页查询商品订单列表
题目
简单表设计并且写出sql语句,购物订单系统里面“所有订单”功能,一个订单包含多个产品,一个产品也可能被不同的订单包含,请写出针对于产品名称搜索的订单分页sql,包含订单详情,按照创建订单时间倒叙排列。
分析
- 涉及的表应该有:订单表、商品表、订单商品关联表。
- SQL语句考查:联表查询、排序、分页。
- 索引的考查:涉及订单和商品,一般来说数据量都比较大,不加索引的话,查询和排序等操作会非常慢。
SQL
-- 订单表
CREATE TABLE order_info (
order_id bigint(20) NOT NULL AUTO_INCREMENT,
status char(1) NOT NULL,
create_time datetime NOT NULL,
update_time datetime NOT NULL,
-- orther field...
PRIMARY KEY (order_id),
index order_info_create_time (create_time)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 订单商品关联表
CREATE TABLE order_sku (
order_id bigint(20) NOT