SQL 入门教程:WHERE AND OR IN NOT 练习题

本文内容

  1. 编写 SQL 语句,从 Vendors 表中检索供应商名称(vend_name),仅返回加利福尼亚州的供应商(这需要按国家 [USA] 和州 [CA] 进行过滤,没准其他国家也存在一个加利福尼亚州)。提示:过滤器需要匹配字符串。

    1
    2
    3
    
    SELECT vend_name 
    FROM Vendors 
    WHERE vend_country = 'USA' AND vend_state = 'CA';
    
  2. 编写 SQL 语句,查找所有至少订购了总量 100 个的 BR01、BR02 或 BR03 的订单。你需要返回 OrderItems 表的订单号(order_num)、产品 ID(prod_id)和数量,并按产品ID和数量进行过滤。提示:根据编写过滤器的方式,可能需要特别注意求值顺序。

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    
    --解法 1 
    SELECT order_num, prod_id, quantity 
    FROM OrderItems 
    WHERE (prod_id='BR01' OR prod_id='BR02' OR prod_id='BR03') 
    AND quantity >=100; 
    
    --解法 2 
    SELECT order_num, prod_id, quantity 
    FROM OrderItems 
    WHERE prod_id IN ('BR01','BR02','BR03') 
    AND quantity >=100;
    
  3. 现在,我们回顾 WHERE 练习题。编写 SQL 语句,返回所有价格在 3 美元到 6 美元之间的产品的名称(prod_name)和价格(prod_price)。使用 AND,然后按价格对结果进行排序。

    1
    2
    3
    4
    
    SELECT prod_name, prod_price 
    FROM products 
    WHERE prod_price >= 3 AND prod_price <= 6 
    ORDER BY prod_price;
    
  4. 下面的 SQL 语句有问题吗?(尝试在不运行的情况下指出。)

    1
    2
    3
    4
    
    SELECT vend_name
    FROM Vendors
    ORDER BY vend_name
    WHERE vend_country = 'USA' AND vend_state = 'CA';
    

    答:ORDER BY 必须跟在 WHERE 子句之后。

请参阅#

(完)

comments powered by Disqus

本文内容