第二章 练习题

2018-07-23  本文已影响0人  susupp

2.1

SELECT
    product_name,
    regist_date
FROM
    product
WHERE
    regist_date > '2009-04-28';

2.2
果然,这三句话是什么东西都不会返回的。当cell的值是null的时候,比较运算符是不会工作的,不论是哪一个比较运算符。

SELECT *
FROM Product
WHERE purchase_price = NULL;

SELECT *
FROM Product
WHERE purchase_price <> NULL;

SELECT *
FROM Product
WHERE purchase_price > NULL;

2.3

SELECT
    product_name,
    sale_price,
    purchase_price
FROM
    product
WHERE
    (sale_price - purchase_price) > 500;

SELECT
    product_name,
    sale_price,
    purchase_price
FROM
    product
WHERE
    sale_price > purchase_price + 500;

2.4

SELECT
    product_name,
    product_type,
    -- 注意这里是不需要使用括号的
    0.9 * sale_price - purchase_price AS profit
FROM
    product
WHERE
    (
        product_type = '办公用品'
        OR product_type = '厨房用具'
    )
-- 这里我本来用了profit,但报错,说找不到该列
-- 看来标准的sql和TeraData还是有区别的
-- 既然不能写profit的话,那么,我推断这里应该是在内部机制上避免了重复运算
AND 0.9 * sale_price - purchase_price > 100;
上一篇 下一篇

猜你喜欢

热点阅读