PostgreSQL數(shù)據(jù)庫(kù)的基本查詢操作
查詢列
SELECT語(yǔ)句,用于從表中選取數(shù)據(jù)。
格式:
SELECT <列名>,... FROM <表名>;
從Product表中,查詢?nèi)小?/p>
SELECT product_id, product_name, purchase_price FROM Product;
查詢所有列,格式:
SELECT *FROM <表名>;
星號(hào)代表全部列。
SELECT *FROM Product;
可以用AS關(guān)鍵字給列設(shè)定別名。
SELECT product_id AS "商品編號(hào)", product_name AS "商品名稱", purchase_price AS "進(jìn)貨單價(jià)" FROM Product;
去除重復(fù)數(shù)據(jù)DISTINCT
SELECT DISTINCT product_type FROM Product;
這里的去除并不是真的就把重復(fù)的數(shù)據(jù)給刪了,只是展示出來的數(shù)據(jù)是不重復(fù)的。
也可以在多列之前使用DISTINCT。
SELECT DISTINCT product_type, regist_date FROM Product;
WHERE子句
SELECT語(yǔ)句使用WHERE子句,查詢出符合指定條件的數(shù)據(jù)。
格式:
SELECT <列名>,... FROM <表名> WHERE <條件表達(dá)式>;
例子:選取product_type = '衣服’的商品。
SELECT product_name, product_type FROM Product WHERE product_type = '衣服';
也可以按下面這個(gè)方式
SELECT product_name FROM Product WHERE product_type = '衣服';
注釋
一行注釋:
-- 本SELECT語(yǔ)句會(huì)從結(jié)果中刪除重復(fù)行。 SELECT DISTINCT product_id, purchase_price FROM Product;
多行注釋:
/* 本SELECT語(yǔ)句, 會(huì)從結(jié)果中刪除重復(fù)行。*/ SELECT DISTINCT product_id, purchase_price FROM Product;
算術(shù)運(yùn)算符
算術(shù)運(yùn)算符:+、-、*、/。
運(yùn)算表達(dá)式中也可以用括號(hào)。
SELECT product_name, sale_price, sale_price * 2 AS “sale_price_x2" FROM Product;
含有NULL的運(yùn)算,結(jié)果都是NULL。
比較運(yùn)算符
=表示等于、<>表示不等于、>=、<=、>、<。
SELECT product_name, product_type FROM Product WHERE sale_price = 500;
SELECT product_name, product_type FROM Product WHERE sale_price <> 500;
比較運(yùn)算符,可以對(duì)幾乎所有數(shù)據(jù)類型進(jìn)行比較。
對(duì)字符串比較的時(shí)候,按照字典順序比較。比如‘10’比‘2’小。
SELECT product_name, product_type, regist_date FROM Product WHERE regist_date < '2222-06-01';
WHERE子句的條件表達(dá)式中,可用計(jì)算表達(dá)式。
SELECT product_name, sale_price, purchase_price FROM Product WHERE sale_price - purchase_price >= 500;
不能對(duì)NULL使用比較運(yùn)算符。
如果選取NULL的記錄,使用IS NULL運(yùn)算符。
SELECT product_name, purchase_price FROM Product WHERE purchase_price IS NULL;
選取不是NULL的記錄,使用IS NOT NULL運(yùn)算符。
SELECT product_name, purchase_price FROM Product WHERE purchase_price IS NOT NULL;
邏輯運(yùn)算符
NOT運(yùn)算符:用于否定某一條件。
下面等價(jià)于WHERE sale_price < 1000;
SELECT product_name, product_type, sale_price FROM Product WHERE NOT sale_price >= 1000;
AND運(yùn)算符:
SELECT product_name, purchase_price FROM Product WHERE product_type = '廚房用具' AND sale_price >= 3000;
OR運(yùn)算符:
SELECT product_name, purchase_price FROM Product WHERE product_type = '廚房用具' OR sale_price >= 3000;
AND運(yùn)算符的優(yōu)先級(jí)高于OR運(yùn)算符,如果想要選出product_type = ‘辦公用品’,而且登記日期為2222-02-22或2222-06-22,按照下面這個(gè)方式是不行的。
SELECT product_name, product_type, regist_date FROM Product WHERE regist_date = '2222-02-22' OR regist_date = '2222-06-22' AND product_type = '辦公用品';
要優(yōu)先執(zhí)行OR運(yùn)算符可以使用括號(hào),如下所示。
SELECT product_name, product_type, regist_date FROM Product WHERE product_type = '辦公用品' AND ( regist_date = '2222-02-22' OR regist_date = '2222-06-22');
比較運(yùn)算符會(huì)把運(yùn)算結(jié)果以真值形式返回,結(jié)果成立為真,不成立為假。
可以通過創(chuàng)建真值表,理解一些復(fù)雜的條件。
SELECT product_name, purchase_price FROM Product WHERE purchase_price = 2800;
SELECT product_name, purchase_price FROM Product WHERE NOT purchase_price = 2800;
SELECT product_name, purchase_price FROM Product
經(jīng)觀察發(fā)現(xiàn),SQL中真值還有一種,叫UNKNOWN,既不真也不假,稱之為不確定。
這是因?yàn)閿?shù)據(jù)含有NULL。
因此,SQL中邏輯運(yùn)算被稱為三值邏輯。
以上就是PostgreSQL數(shù)據(jù)庫(kù)的基本查詢操作的詳細(xì)內(nèi)容,更多關(guān)于PostgreSQL 數(shù)據(jù)庫(kù)查詢操作的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Linux CentOS 7安裝PostgreSQL9.3圖文教程
這篇文章主要為大家詳細(xì)介紹了Linux CentOS 7安裝PostgresSQL9.3圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11Postgresql?REGEXP開頭的正則函數(shù)用法圖文詳解
正則表達(dá)式是指一個(gè)用來描述或者匹配一系列符合某個(gè)句法規(guī)則的字符串的單個(gè)字符串,下面這篇文章主要給大家介紹了關(guān)于Postgresql?REGEXP開頭的正則函數(shù)用法的相關(guān)資料,需要的朋友可以參考下2024-02-02PostgreSQL自動(dòng)更新時(shí)間戳實(shí)例代碼
最近有這么一個(gè)工程,需要使用postgresql數(shù)據(jù)庫(kù),在數(shù)據(jù)庫(kù)中的好幾個(gè)表中都需要時(shí)間戳這個(gè)字段,這篇文章主要給大家介紹了關(guān)于PostgreSQL自動(dòng)更新時(shí)間戳的相關(guān)資料,需要的朋友可以參考下2021-11-11使用PostgreSQL數(shù)據(jù)庫(kù)建立用戶畫像系統(tǒng)的方法
這篇文章主要介紹了使用PostgreSQL數(shù)據(jù)庫(kù)建立用戶畫像系統(tǒng),下面使用一個(gè)具體的例子來說明如何使用PostgreSQL的json數(shù)據(jù)類型來建立用戶標(biāo)簽數(shù)據(jù),需要的朋友可以參考下2022-10-10postgreSQL 數(shù)字與字符串類型轉(zhuǎn)換操作
這篇文章主要介紹了postgreSQL 數(shù)字與字符串類型轉(zhuǎn)換操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-12-12