PostgreSQL 简单的查询
查詢列
SELECT語句,用于從表中選取數據。
格式:
從Product表中,查詢三列。
SELECT product_id, product_name, purchase_price FROM Product;查詢所有列,格式:
SELECT * FROM <表名>;星號代表全部列。
SELECT * FROM Product;可以用AS關鍵字給列設定別名。
SELECT product_id AS "商品編號",product_name AS "商品名稱",purchase_price AS "進貨單價" FROM Product;去除重復數據DISTINCT
SELECT DISTINCT product_type FROM Product;這里的去除并不是真的就把重復的數據給刪了,只是展示出來的數據是不重復的。
也可以在多列之前使用DISTINCT。
SELECT DISTINCT product_type, regist_date FROM Product;WHERE子句
SELECT語句使用WHERE子句,查詢出符合指定條件的數據。
格式:
SELECT <列名>,... FROM <表名> WHERE <條件表達式>;例子:選取product_type = '衣服’的商品。
SELECT product_name, product_type FROM Product WHERE product_type = '衣服';也可以按下面這個方式
SELECT product_name FROM Product WHERE product_type = '衣服';注釋
一行注釋:
-- 本SELECT語句會從結果中刪除重復行。 SELECT DISTINCT product_id, purchase_priceFROM Product;多行注釋:
/* 本SELECT語句,會從結果中刪除重復行。*/ SELECT DISTINCT product_id, purchase_priceFROM Product;算術運算符
算術運算符:+、-、*、/。
運算表達式中也可以用括號。
SELECT product_name, sale_price,sale_price * 2 AS “sale_price_x2"FROM Product;含有NULL的運算,結果都是NULL。
比較運算符
=表示等于、<>表示不等于、>=、<=、>、<。
SELECT product_name, product_typeFROM ProductWHERE sale_price = 500; SELECT product_name, product_typeFROM ProductWHERE sale_price <> 500;比較運算符,可以對幾乎所有數據類型進行比較。
對字符串比較的時候,按照字典順序比較。比如‘10’比‘2’小。
SELECT product_name, product_type, regist_dateFROM ProductWHERE regist_date < '2222-06-01';WHERE子句的條件表達式中,可用計算表達式。
SELECT product_name, sale_price, purchase_priceFROM ProductWHERE sale_price - purchase_price >= 500;不能對NULL使用比較運算符。
如果選取NULL的記錄,使用IS NULL運算符。
SELECT product_name, purchase_priceFROM ProductWHERE purchase_price IS NULL;選取不是NULL的記錄,使用IS NOT NULL運算符。
SELECT product_name, purchase_priceFROM ProductWHERE purchase_price IS NOT NULL;邏輯運算符
NOT運算符:用于否定某一條件。
下面等價于WHERE sale_price < 1000;
SELECT product_name, product_type, sale_priceFROM ProductWHERE NOT sale_price >= 1000;AND運算符:
SELECT product_name, purchase_priceFROM ProductWHERE product_type = '廚房用具'AND sale_price >= 3000;OR運算符:
SELECT product_name, purchase_priceFROM ProductWHERE product_type = '廚房用具'OR sale_price >= 3000;AND運算符的優先級高于OR運算符,如果想要選出product_type = ‘辦公用品’,而且登記日期為2222-02-22或2222-06-22,按照下面這個方式是不行的。
SELECT product_name, product_type, regist_dateFROM ProductWHERE regist_date = '2222-02-22' OR regist_date = '2222-06-22'AND product_type = '辦公用品';要優先執行OR運算符可以使用括號,如下所示。
SELECT product_name, product_type, regist_dateFROM ProductWHERE product_type = '辦公用品'AND ( regist_date = '2222-02-22'OR regist_date = '2222-06-22');比較運算符會把運算結果以真值形式返回,結果成立為真,不成立為假。
可以通過創建真值表,理解一些復雜的條件。
SELECT product_name, purchase_priceFROM ProductWHERE purchase_price = 2800; SELECT product_name, purchase_priceFROM ProductWHERE NOT purchase_price = 2800; SELECT product_name, purchase_priceFROM Product經觀察發現,SQL中真值還有一種,叫UNKNOWN,既不真也不假,稱之為不確定。
這是因為數據含有NULL。
因此,SQL中邏輯運算被稱為三值邏輯。
總結
以上是生活随笔為你收集整理的PostgreSQL 简单的查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 内存情况_java查看jvm内
- 下一篇: java 线程加载类_java JVM-