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;
网友评论