文章

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 子句中還可以使用邏輯操作符(如 ANDORNOT)來組合多個條件。

範例

  1. 查詢職位為「工程師」且月薪高於 60000 的員工:

    1
    
    SELECT 姓名, 職位, 月薪 FROM 員工 WHERE 職位 = '工程師' AND 月薪 > 60000;
    
  2. 查詢職位為「工程師」或「設計師」的員工:

    1
    
    SELECT 姓名, 職位 FROM 員工 WHERE 職位 = '工程師' OR 職位 = '設計師';
    

使用 ORDER BY 排序查詢結果

可以使用 ORDER BY 子句按指定欄位對查詢結果進行排序,預設為升序排列。若需降序排列,可以加上 DESC 關鍵字。

範例

  1. 按照月薪升序排列查詢結果:

    1
    
    SELECT 姓名, 月薪 FROM 員工 ORDER BY 月薪;
    
  2. 按照入職日期降序排列查詢結果:

    1
    
    SELECT 姓名, 入職日期 FROM 員工 ORDER BY 入職日期 DESC;
    

使用 LIMIT 限制查詢結果數量

LIMIT 子句可用於限制返回的記錄數量,適合用於只需部分資料的情境,例如顯示前幾筆記錄。

範例

查詢月薪最高的前 3 名員工:

1
SELECT 姓名, 月薪 FROM 員工 ORDER BY 月薪 DESC LIMIT 3;

本日總結

今天我們學習了如何使用 SELECT 語句來查詢數據,包括基本查詢、條件過濾、排序和限制結果數量。這些技巧讓我們能夠更靈活地從資料表中檢索所需數據。明天我們將進一步探討資料更新操作,學習如何使用 UPDATE 語句來修改資料表中的記錄。

本文章以 CC BY 4.0 授權