由于有编程基础,因此对于这一章仍是很好理解,只须要注意对NULL的运算。
操做的表格
sql
查询商品名字和商品售价,并商品售价乘2编程
SELECT product_name,sale_price * 2 AS "sale_price * 2" FROM Product;
查询商品名字,并查询商品利润code
SELECT product_name,sale_price-purchase_price AS "利润" FROM Product;
加法和除法也是同样的操做,注意包含NULL的运算结果都是NULL。blog
运算符:
等于:=
不等于:<>
大于等于>=
大于:>
小于等于:<=
小于:<
好比查询售价大于1000的商品。字符串
SELECT product_name,sale_price FROM Product WHERE sale_price>1000;
查询2019年1月4日以前登记的商品class
SELECT product_name,regist_date FROM Product WHERE regist_date<to_date('2019-1-4','yyyy-mm-dd');
对字符串进行比较查询时,如 1,2,3,10,15,123,32按照字符串类型储存时,按照从小到大的顺序排列是:1<10<123<15<2<3<32。
由于字符串的比较是先比较首位,1,10,123的首位1比2,3,32的首位小。若是首位相同,就比较下一位。
不能对NULL使用比较运算符。好比查询售价<>2800的商品名字,售价为NULL的的记录不会被选取。一样,若是要查询售价为NULL的商品名字,也特殊一点。基础
SELECT product_name, purchase_price FROM Product WHERE purchase_price IS NULL;
或者用IS NOT NULL查询不为空的记录。date
这部分很简单,平时都有用到,因此只列几个列子。im
SELECT * FROM Product WHERE product_type='厨房用具' AND sale_price>1000;
SELECT * FROM Product WHERE NOT product_type='办公';
SELECT * FROM Product WHERE sale_price>3000 OR sale_price<1000;
SELECT * FROM Product WHERE product_type='厨房用具' AND (sale_price>3000 OR sale_price<1000);