由於有編程基礎,因此對於這一章仍是很好理解,只須要注意對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);