本文主要是介绍《SQL必知必会第五版》第十四章(组合查询)挑战题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. 编写 SQL 语句,将两个 SELECT 语句结合起来,以便从 OrderItems表中检索产品 ID(prod_id)和 quantity。其中,一个 SELECT 语句过滤数量为 100 的行,另一个 SELECT 语句过滤 ID 以 BNBG 开头的产品。按产品 ID 对结果进行排序。
SELECT prod_id,quantity
FROM OrderItems
WHERE quantity=100
UNION
SELECT prod_id,quantity
FROM OrderItems
WHERE prod_id LIKE 'BNBG%'
ORDER BY prod_id;
2. 重写刚刚创建的 SQL 语句,仅使用单个 SELECT 语句。
SELECT prod_id, quantity FROM OrderItems
WHERE quantity = 100 OR prod_id LIKE 'BNBG%'
ORDER BY prod_id;
3. 我知道这有点荒谬,但这节课中的一个注释提到过。编写 SQL 语句,组合 Products 表 中的产品名称( prod_name )和 Customers 表 中的顾客名称(cust_name )并返回,然后按产品名称对结果进行排序。
SELECT prod_name
FROM Products
UNION
SELECT cust_name
FROM Customers
ORDER BY prod_name;
4. 下面的 SQL 语句有问题吗?(尝试在不运行的情况下指出。)SELECT cust_name, cust_contact, cust_emailFROM CustomersWHERE cust_state = 'MI'ORDER BY cust_name;UNIONSELECT cust_name, cust_contact, cust_emailFROM CustomersWHERE cust_state = 'IL'ORDER BY cust_name;
; 在第一个 SELECT 语句不应该出现之后,它正在终止该语句。
另外,如果对 SELECT 语句与 UNION 组合进行排序,则只能使用一个 ORDER BY,
并且它必须位于最后一个 SELECT 之后。
这篇关于《SQL必知必会第五版》第十四章(组合查询)挑战题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!