文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
高级数据过滤
AND
和 OR
运算符用于基于一个以上的条件对记录进行过滤,两者可以结合使用。 AND
必须 2 个条件都成立, OR
只要 2 个条件中的一个成立即可。
检索供应商名称
Vendors
表有字段供应商名称( vend_name
)、供应商国家( vend_country
)、供应商州( vend_state
)
vend_name | vend_country | vend_state |
---|---|---|
apple | USA | CA |
vivo | CNA | shenzhen |
huawei | CNA | xian |
【问题】编写 SQL 语句,从 Vendors
表中检索供应商名称( vend_name
),仅返回加利福尼亚州的供应商(这需要按国家[USA]和州[CA]进行过滤,没准其他国家也存在一个 CA)
答案:
SELECT vend_name
FROM Vendors
WHERE vend_country = 'USA' AND vend_state = 'CA'
检索并列出已订购产品的清单
OrderItems
表包含了所有已订购的产品(有些已被订购多次)。
prod_id | order_num | quantity |
---|---|---|
BR01 | a1 | 105 |
BR02 | a2 | 1100 |
BR02 | a2 | 200 |
BR03 | a4 | 1121 |
BR017 | a5 | 10 |
BR02 | a2 | 19 |
BR017 | a7 | 5 |
【问题】编写 SQL 语句,查找所有订购了数量至少 100 个的 BR01
、 BR02
或 BR03
的订单。你需要返回 OrderItems
表的订单号( order_num
)、产品 ID( prod_id
)和数量( quantity
),并按产品 ID 和数量进行过滤。
答案:
SELECT order_num, prod_id, quantity
FROM OrderItems
WHERE prod_id IN ('BR01', 'BR02', 'BR03') AND quantity >= 100
返回所有价格在 3 美元到 6 美元之间的产品的名称和价格
有表 Products
:
prod_id | prod_name | prod_price |
---|---|---|
a0011 | egg | 3 |
a0019 | sockets | 4 |
b0019 | coffee | 15 |
【问题】编写 SQL 语句,返回所有价格在 3 美元到 6 美元之间的产品的名称( prod_name
)和价格( prod_price
),使用 AND 操作符,然后按价格对结果进行升序排序。
答案:
SELECT prod_name, prod_price
FROM Products
WHERE prod_price >= 3 and prod_price <= 6
ORDER BY prod_price
检查 SQL 语句
供应商表 Vendors
有字段供应商名称 vend_name
、供应商国家 vend_country
、供应商省份 vend_state
vend_name | vend_country | vend_state |
---|---|---|
apple | USA | CA |
vivo | CNA | shenzhen |
huawei | CNA | xian |
【问题】修改正确下面 sql,使之正确返回。
SELECT vend_name
FROM Vendors
ORDER BY vend_name
WHERE vend_country = 'USA' AND vend_state = 'CA';
修改后:
SELECT vend_name
FROM Vendors
WHERE vend_country = 'USA' AND vend_state = 'CA'
ORDER BY vend_name
ORDER BY
语句必须放在 WHERE
之后。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论