题目描述:
1.有一个用户购买课程的订单信息表(图1),包括订单id,用户user_id,课程名称product_name,购买状态status,客户端id,购买日期date。
1.1举例说明第1行:表示user_id为557336的用户在2025-10-10的时候使用了client_id为1的客户端下了C++课程的订单,但是状态为没有购买成功。
1.2举例说明第2行:表示user_id为230173543的用户在2025-10-12的时候使用了client_id为2的客户端下了Python课程的订单,状态为购买成功。
2.请写出一个sql语句查询购买日期在2025-10-15以后,状态为购买成功的C++课程或者Java课程或者Python课程的订单,并且按照order_info的id升序排序,查询结果如图2。
解题思路:
1.首先使用where语句筛选出购买日期在2025-10-15以后的课程订单(where date>'2025-10-15'),再用and语句连接其余的筛选条件:状态为购买成功的订单( status='completed' ),以及C++课程或者Java课程或者Python课程的订单(product_name='c++' or product_name='java'or product_name='Python')
2.使用order by id实现按照order_info的id升序排序。
代码实现:
select * from order_info
where date>'2025-10-15'
and status='completed' and (product_name='c++' or product_name='java'or product_name='Python')
order by id;
温馨期待:
期待大家提出宝贵建议,互相交流,收获更大[太阳]
欢迎大家转发,一起传播知识和正能量,帮助到更多人。辛苦大家转发时注明出处(也是咱们公益编程交流群的入口网址),刘经纬老师共享知识相关文件下载地址为:http://liujingwei.cn