iT邦幫忙

sql相關文章
共有 361 則文章

技術 以Postgresql為主,再聊聊資料庫 PostgreSQL Array 的應用

PostgreSQL 有 Array, 讓我們在處理資料或是分析資料時, 十分地便利. 情境:某電商有10萬種商品,上個月有一千萬筆銷售紀錄,每筆銷售有1~1...

鐵人賽 Software Development DAY 30
SQL 30天手把手入門 系列 第 30

技術 Day30 - 述詞和完賽結語

述詞 ( Predicate ) 的回傳值皆為 True / False,因此在撰寫 SQL 的篩選條件時,是不可或缺的角色。 以下列舉出一些在設定條件時,十分...

技術 以Postgresql為主,再聊聊資料庫 遞迴 又見遞迴

情境:有許多 sensor, 一直傳送資料,我們想取得最新的資料. create unlogged table it201011c ( id bigin...

鐵人賽 Software Development DAY 29
SQL 30天手把手入門 系列 第 29

技術 Day29 - 日期、轉換函數

若你是使用 ORM ( Object Relational Mapping ) 來操作資料庫的話,那麼在建立 Modal、寫入資料之時,多半會有時間欄位來記錄「...

鐵人賽 Software Development DAY 28
SQL 30天手把手入門 系列 第 28

技術 Day28 - 數學、字串函數

如同許多的程式語言,SQL 本身也有內建函數,像是前些天的篇幅內曾用的 COUNT, SUM, AVG, MAX...等。在使用時,要注意大多數的函數和 NUL...

技術 以Postgresql為主,再聊聊資料庫 應用遞迴加快 count distinct 的等效查詢

create table it201011a ( gal text not null ); -- 輸入一億筆 insert into it201011a...

鐵人賽 Software Development DAY 27
SQL 30天手把手入門 系列 第 27

技術 Day27 - 子查詢

先前 Day26 - 檢視表 ( View ) 會儲存在資料庫當中,但也可以將「建立檢視表用的 SELECT 敘述」直接寫在 SELECT 敘述中。如此一來便是...

技術 以Postgresql為主,再聊聊資料庫 PostgreSQL Index 與 不等於

不等於 != , <> -- 1 有 pk 的情況 create table it201010a ( id int not null pri...

技術 Excel總是卡頓、過慢、當機怎麼辦?Excel實用撇步加快效率!

說起Excel,大家有沒有遇到過表格卡頓、反應慢、或者乾脆當掉的情況? 我以前寫小論文的時候,用Excel處理一個國家的統計資料,記得當時僅僅打開Excel就需...

鐵人賽 Software Development DAY 26
SQL 30天手把手入門 系列 第 26

技術 Day26 - 檢視表 ( View )

檢視表 ( View ) 可以說是一個「類似於資料表 ( Table ) 」的東西,不過最大的差異在於檢視表僅儲存 SELECT 敘述句。因為檢視表本身並沒有「...

服務開發雜談 系列 第 33

技術 [完結] 分庫分表 Sharding & Partition - 3

上篇講到這 分庫分表後帶來的影響 ACID如何保證呢? 多表之間的Join查詢怎辦? 範圍查找怎辦? 無法用FK做約束保證 也不能用Oracle的Sequen...

鐵人賽 Software Development DAY 25
SQL 30天手把手入門 系列 第 25

技術 Day25 - 刪除資料

「刪除資料」這動作,大致上可分為兩類: 刪除整個資料表:使用 DROP TABLE 敘述 刪除資料表中的記錄:使用 DELETE 敘述 在刪除之前,請先確定...

鐵人賽 Software Development DAY 24
SQL 30天手把手入門 系列 第 24

技術 Day24 - 修改資料

修改資料表中的某些資料,就會使用 UPDATE 的敘述句語法。 基本語法如下: UPDATE <TableName> SET <fieldNa...

服務開發雜談 系列 第 31

技術 分庫分表 Sharding - 1

網站跟服務隨著用戶數量線性上升後, 幾乎時常接受著大流量、高併發、海量數據的洗禮. 單庫的行能瓶頸會浮現出來. 海量數據下, 數據庫的查詢效率會遞減, 慢慢的就...

鐵人賽 Software Development DAY 23
SQL 30天手把手入門 系列 第 23

技術 Day23 - 新增資料表和資料

在 Day11 的建立資料庫、資料表一文中,有使用到「新增資料表」和「新增資料」兩種 SQL 敘述。這篇主要是來講解這兩種敘述的使用方式和注意事項。 CREAT...

鐵人賽 Software Development DAY 22
SQL 30天手把手入門 系列 第 22

技術 Day 22 - 資料結果排序

當你篩選出資料後,不免俗的會有場景會需要用到「排序」功能。在前後端分離的開發環境下,資料庫端回傳已排序後的結果,在資料量大 & 條件複雜的情境下會相當適...

鐵人賽 Software Development DAY 21
SQL 30天手把手入門 系列 第 21

技術 Day21 - 對資料分群內的資料下條件

資料經由 GROUP BY 分群後,如果要對分群後的資料來進行篩選,這時就可以使用 HAVING 來達成要求。同時,HAVING 一定要放在 GROUP BY...

鐵人賽 Software Development DAY 20
SQL 30天手把手入門 系列 第 20

技術 Day 20 - 資料分群

在查詢資料表時,除了直接以「整張資料表」為母體的搜尋方式外,也可以用 GROUP BY 先行將資料表中的資料依照一定條件給分群,然後再進行處理。 在 SQL 敘...

鐵人賽 Software Development DAY 19
SQL 30天手把手入門 系列 第 19

技術 Day 19 - 利用內建函數來彙整資料

經由先前幾天不斷的修改 Product 資料表後,目前的狀態如下: id name category cost_price sell_price purc...

鐵人賽 Software Development DAY 18
SQL 30天手把手入門 系列 第 18

技術 Day18 - 邏輯運算子

在探討邏輯運算子前,先幫大家回憶一下 Venn diagram (文氏圖、范恩圖......) 。它被用來概略的表達集合之間的關係。 圖片大概會像是這樣: 圖...

鐵人賽 Modern Web DAY 18

技術 [Day 18] Transaction 併發錯誤與隔離層級 - (1)

(以下圖片來自讀書會夥伴講義) 前兩篇文章介紹了資料庫 Transaction 與 ACID 的特性,可以避免一些資料不一致的問題,然而就算有 Atomici...

鐵人賽 Modern Web DAY 17

技術 [Day 17] Database Transaction & ACID - (2)

昨天提到了什麼是 transaction,今天則要簡單談談 transaction 的四大特性:ACID。 接下來要講到 transaction 所具備的四個...

鐵人賽 Software Development DAY 17
SQL 30天手把手入門 系列 第 17

技術 Day17 - 比較運算子

SQL 中的比較運算子,可以針對文字、數值或是日期進行比較。 /*cost_price 欄位大於 50*/ SELECT * FROM Product WHER...

鐵人賽 Modern Web DAY 16

技術 [Day 16] Database Transaction & ACID - (1)

如果對後端領域有稍微接觸過的話,一定不會對資料庫的操作感到陌生,我們可以藉由 SQL 指令來進行資料的讀取、新增、修改、刪除…等操作。然而試想一下情境,如果是一...

鐵人賽 Software Development DAY 16
SQL 30天手把手入門 系列 第 16

技術 Day 16 - 算數運算子

SQL 敘述句中是可以填入數學計算式的,像是常用的加減乘除符號和小括號。 當然也遵守「有括號優先計算」、「先乘除後加減」這兩個原則。 計算方式 符號...

鐵人賽 Software Development DAY 15
SQL 30天手把手入門 系列 第 15

技術 Day 15 - SQL 基本語法 - 有條件的選資料和 回傳 JSON 格式

若要查詢符合「指定條件」的資料,那麼 SELECT 中搭配 WHERE 子句就是極佳選擇。 SELECT <欄位名稱> FROM <資料表名稱...

技術 以Postgresql為主,再聊聊資料庫 PostgreSQL 提供精確分數的 pg_rational Extension

在一般的運算中, 分數會使用浮點數來近似. PostgreSQL 有許多強大的 extension,提供了許多extension,讓我們更方便. 這個 exte...

鐵人賽 Software Development DAY 14
SQL 30天手把手入門 系列 第 14

技術 Day 14 - SQL 基本語法 - 來選擇表單內的資料吧

若想要從資料表中選出資料,就會使用到 SELECT 的語法。這動作也可以被稱為查詢(Query)。 基本語法 SELECT <欄位名稱> FROM...

鐵人賽 Software Development DAY 13
SQL 30天手把手入門 系列 第 13

技術 Day13 - SQL 基本語法 - 資料表新增資料、修改和刪除資料表

接著先前的 Product 資料表,來實際新增一些資料表。 新增資料 對資料庫進行 1 個以上的更新動作,這些更新動作需要統一包裝在一筆交易(Transacti...

技術 以Postgresql為主,再聊聊資料庫 PostgreSQL pg_stats 統計資訊與 index 的探討

在之前的 PostgreSQL BRIN index 介紹二 中, 使用了 pg_stats, 來查看關聯性. 我們接著來探討 pg_stats 中其他欄位與i...