PostgreSQL - 第 20 天 - CASE 與條件邏輯
課程簡介 CASE 表達式可以根據條件返回不同的結果,是資料查詢中常用的條件控制工具。透過 CASE,可以實現條件篩選、分類、轉換等操作,使查詢結果更靈活且符合業務需求。 基本 CASE 語法 CASE 表達式通常在 SELECT 查詢中使用,根據條件返回不同的值,基本語法如下: CASE WHEN 條件1 THEN 結果1 WHEN 條件2 TH...
課程簡介 CASE 表達式可以根據條件返回不同的結果,是資料查詢中常用的條件控制工具。透過 CASE,可以實現條件篩選、分類、轉換等操作,使查詢結果更靈活且符合業務需求。 基本 CASE 語法 CASE 表達式通常在 SELECT 查詢中使用,根據條件返回不同的值,基本語法如下: CASE WHEN 條件1 THEN 結果1 WHEN 條件2 TH...
課程簡介 日期與時間是許多數據庫應用中不可或缺的部分,例如記錄交易時間、計算時間差等。PostgreSQL 支援多種日期與時間資料類型和強大的函數,幫助我們靈活地操作時間數據。 日期與時間資料類型 1. DATE 儲存日期(年、月、日),不包含時間。 CREATE TABLE events ( event_id SERIAL PRIMARY KEY, ...
課程簡介 字符串處理是數據庫操作中的常見需求,無論是查詢、格式化還是數據清理。PostgreSQL 提供了豐富的字符串函數,如 LENGTH、SUBSTRING、UPPER、LOWER 等,幫助我們靈活地操作和處理文字數據。 基本字符串函數 1. LENGTH - 獲取字符串長度 LENGTH 函數返回字符串的字元數,適用於計算字段內容的長度。 SELECT LEN...
課程簡介 JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,適合儲存結構化的非結構化數據。在 PostgreSQL 中,JSON 和 JSONB(Binary JSON)資料類型提供了強大的功能來儲存和查詢 JSON 資料。今天我們將探討 JSON 與 JSONB 的差異、基本操作和查詢方式。 JSON 與 JSONB 的差異 Postgre...
課程簡介 高級索引能進一步提高數據庫查詢效率,特別是在大型數據集上。今天我們將介紹不同的索引類型,包括 B-tree 索引、Hash 索引、GIN 索引和 GiST 索引等,以及如何選擇和使用合適的索引以最佳化查詢。 索引概述 索引是數據庫中的一種數據結構,旨在快速定位和檢索數據。雖然索引可以大幅提高查詢性能,但也會佔用存儲空間,並在數據更新時引發額外的維護成本。因此,選擇適當的索引...
課程簡介 約束條件(Constraints)是一組規則,用來限制表中的數據,以確保數據的完整性和正確性。通過設置約束條件,我們可以控制數據的有效性,避免無效或錯誤數據的插入。 什麼是約束條件? 約束條件是一種應用於表的規則,可以防止無效數據進入數據庫。常見的約束條件包括: PRIMARY KEY:唯一標識表中的每一行數據。 FOREIGN KEY:確保數據與另一張表中的數據...
課程簡介 交易是一組 SQL 操作的集合,這些操作要么全部成功,要么全部失敗,以確保數據庫的一致性。交易特別重要,因為它可以避免數據在操作過程中的不完整或不一致狀況。 什麼是交易? 在數據庫中,交易(Transaction)是一組邏輯操作單位。交易可以將多個 SQL 語句組合在一起,這些語句作為一個整體來執行。這意味著交易中的所有操作要么全部執行成功,要么全部回滾失敗。 交易具有以...
課程簡介 視圖是根據 SQL 查詢結果創建的虛擬表,它並不儲存實際的數據,而是儲存查詢結果的結構。視圖能夠簡化查詢、提升安全性,以及提高數據管理的靈活性。 什麼是視圖? 視圖(VIEW)是基於一個或多個表或其他視圖創建的虛擬表。視圖是一個「查詢別名」,可用來封裝複雜查詢,讓使用者只需訪問視圖名稱即可獲取查詢結果。視圖不會儲存數據本身,而是每次訪問時執行定義的查詢語句。 視圖的特性包...
課程簡介 關聯式查詢是 SQL 的一個強大功能,允許我們根據某些共同的欄位將來自不同資料表的數據進行結合。這樣可以讓我們更靈活地進行數據分析,並且避免將所有數據放在單一資料表中。 什麼是 JOIN? JOIN 用於從多個表中查詢資料並將它們合併。基本上,JOIN 是根據表格中一個或多個欄位的關聯來進行的。PostgreSQL 支持幾種不同的 JOIN 類型,每種類型有不同的結合方式。...
課程簡介 子查詢是一種在查詢語句中嵌套其他查詢的方式,可以讓我們進行更複雜的數據查詢。子查詢的結果通常用於限定主查詢的條件或返回計算結果。子查詢通常可以分為標量子查詢、行子查詢和列子查詢等類型。 什麼是子查詢? 子查詢(Subquery)是指在一個 SQL 查詢語句內部,嵌套另一個查詢語句。子查詢可以出現在 SELECT、WHERE、FROM、HAVING 等子句中,並且其結果可以用...