PostgreSQL - 第 5 天 - 查詢數據 (SELECT)
課程簡介
查詢操作是資料庫操作中最常見的需求之一,SELECT
語句讓我們可以檢索並顯示指定的數據。本課程將介紹基本查詢語法以及一些常見的查詢技巧。
基本 SELECT 語句
SELECT
語句的基本語法如下:
1
SELECT 欄位1, 欄位2, ... FROM 表名;
例如,要查詢 員工
資料表中的所有欄位,可以使用以下語句:
1
SELECT * FROM 員工;
此語句將返回 員工
表中的所有記錄及欄位。
查詢指定欄位
可以選擇只查詢特定欄位,以減少不必要的數據並提高查詢效率。例如,僅查詢 員工
表中的 姓名
和 職位
欄位:
1
SELECT 姓名, 職位 FROM 員工;
這將返回所有員工的姓名和職位。
使用 WHERE 條件過濾數據
WHERE
子句可以用來過濾記錄,只返回符合特定條件的數據。
範例
查詢 職位
為「工程師」的員工:
1
SELECT * FROM 員工 WHERE 職位 = '工程師';
此語句僅返回職位為工程師的記錄。
使用比較操作符
在 WHERE
子句中,可以使用比較操作符來定義更靈活的條件。常用的比較操作符包括:
=
:等於<>
或!=
:不等於>
:大於<
:小於>=
:大於或等於<=
:小於或等於
範例
查詢月薪高於 60000 的員工:
1
SELECT 姓名, 月薪 FROM 員工 WHERE 月薪 > 60000;
此語句將返回月薪超過 60000 的員工姓名及月薪。
使用邏輯操作符
WHERE
子句中還可以使用邏輯操作符(如 AND
、OR
、NOT
)來組合多個條件。
範例
查詢職位為「工程師」且月薪高於 60000 的員工:
1
SELECT 姓名, 職位, 月薪 FROM 員工 WHERE 職位 = '工程師' AND 月薪 > 60000;
查詢職位為「工程師」或「設計師」的員工:
1
SELECT 姓名, 職位 FROM 員工 WHERE 職位 = '工程師' OR 職位 = '設計師';
使用 ORDER BY 排序查詢結果
可以使用 ORDER BY
子句按指定欄位對查詢結果進行排序,預設為升序排列。若需降序排列,可以加上 DESC
關鍵字。
範例
按照月薪升序排列查詢結果:
1
SELECT 姓名, 月薪 FROM 員工 ORDER BY 月薪;
按照入職日期降序排列查詢結果:
1
SELECT 姓名, 入職日期 FROM 員工 ORDER BY 入職日期 DESC;
使用 LIMIT 限制查詢結果數量
LIMIT
子句可用於限制返回的記錄數量,適合用於只需部分資料的情境,例如顯示前幾筆記錄。
範例
查詢月薪最高的前 3 名員工:
1
SELECT 姓名, 月薪 FROM 員工 ORDER BY 月薪 DESC LIMIT 3;
本日總結
今天我們學習了如何使用 SELECT
語句來查詢數據,包括基本查詢、條件過濾、排序和限制結果數量。這些技巧讓我們能夠更靈活地從資料表中檢索所需數據。明天我們將進一步探討資料更新操作,學習如何使用 UPDATE
語句來修改資料表中的記錄。
本文章以 CC BY 4.0 授權