前言
今天是SQL的【必知必会】的第二天练习,昨天的题目实在是太简单了,今天还不知道,让我们一起思考吧!虽然说题目简单,那也是我们能力上升的一个见证,打好基础才是最重要的,始终要保持一颗谦虚的心态去学习。
SLogan:利用有限的时间,撸起袖子加油干!
一、过滤数据
【SQL67】返回固定价格的产品
解题思路:
这一题也是基础题,需要用到WHERE条件筛选,返回价格9.49的产品信息。
代码如下:
SELECT prod_id,prod_name
FROM Products
WHERE prod_price=9.49
结果:
【SQL68】返回更高价格的产品
解题思路:
这一题在上一题的基础上多了一个价格为9美元“或更高”的条件,也是很简单的。
代码如下:
SELECT prod_id,prod_name
FROM Products
WHERE prod_price=9 OR prod_price>9
结果:
【SQL69】返回产品并且按照价格排序
解题思路:
现在对我们来说检索是小菜一碟,这道题目有一个3到6美元的限定条件和排序的要求,分开来一条一条写就可以了,排序是升序(ASC)
代码如下:
SELECT prod_name,prod_price
FROM Products
WHERE prod_price BETWEEN 3 AND 6
ORDER BY prod_price ASC
结果:
【SQL70】检索所有列
解题思路:
这题需要注意到两个条件:
1、不同且不重复,那么需要去重(DISTINCT)
2、每个订单数量要>=100
代码如下:
SELECT DISTINCT order_num
FROM OrderItems
WHERE quantity>=100
结果:
二、高级数据过滤
【SQL71】检索供应商名称
解题思路:
这道题的限定条件是:仅返回加利福尼亚州的供货商
需要同时满足国家是USA,州是CA,
如果只限定国家是USA的话没准其他国家也存在一个CA,所以要考虑的全面一些。
代码如下:
SELECT vend_name
FROM Vendors
WHERE vend_country='USA' AND vend_state='CA'
结果:
【SQL72】检索并列出已订购产品的清单
解题思路:
这一题也是有两个限定条件:
1、数量至少100个(>=100)的
2、BR01、BR02、BR03的订单(使用WHERE IN 子句)
代码如下:
SELECT order_num,prod_id,quantity
FROM OrderItems
WHERE prod_id IN('BR01','BR02','BR03') AND quantity>=100
结果:
【SQL73】按照数量和价格排序
解题思路:
这一题和【SQL69】道理是一样的,可以参考那一题的解析。
代码如下:
SELECT prod_name,prod_price
FROM Products
WHERE prod_price BETWEEN 3 AND 6
ORDER BY prod_price ASC
结果:
【SQL74】纠错2
解题思路:
where的用法在order之前,换一下顺序就行。
正确代码如下:
SELECT vend_name
FROM Vendors
WHERE vend_country = 'USA' AND vend_state = 'CA'
ORDER BY vend_name;
结果:
总结
希望大家一键三连呀!!谢谢!!!
今天刷的题和昨天一样都好简单!所以刷了两个小章节的内容,准备今天多发点,趁早把简单的题目过一遍!
明天就是中秋节啦,在这里提前预祝各位中秋快乐!明天也是教师节,在这里也预祝各位美丽,帅气的老师们节日快乐!!