GROUP BY 和 ORDER BY 都是具有相似功能的子句(或陳述式),也就是排序查詢結果。但是,它們的目的截然不同。實際上差異非常大,以至於它們可以單獨使用或一起使用。如果你不確定要使用哪一個,事情可能會變得有點冒險。在今天的文章中,我們將學習這兩個子句的功能以及如何一起使用它們以最終控制查詢的輸出。為此,我們將使用 Navicat Premium 和 Sakila 範例資料庫。
在之前的文章中,我們使用 Navicat for SQL Server 將 SQL Server 中特定的欄的平均每日計數製成表格。在今天的後續文章中,我們將稍微提高難度係數,計算開始日期和結束日期欄的每日平均日期時間間隔。為了示範之用,我將使用 Navicat Premium 和 MySQL。
通常,查詢正規化資料庫需要將資料表的一個或多個通用欄位聯結。否則,可能會產生笛卡爾積。這是一個列數等於第一個資料表列數乘以第二個資料表列數的結果集。因此,如果輸入包含 1000 人和 1000 個電話號碼,則結果會有 1,000,000 個組合!這種做法並不好。話雖如此,如果你想彙總不直接相關但相似的資料表中的資料,可以使用 UNION 運算子。在今天的文章中,我們將學習一些有關使用 UNION 及其相類似的 UNION ALL 的要點。
最近,我寫了一個 node.js 指令碼,每天逐一查看數百萬個檔案,並將其內容插入 MySQL 資料庫。該指令碼不是一次處理一筆記錄,而是將檔案內容儲存在記憶體中,然後每 1000 個檔案執行一次 INSERT 陳述式。為此,我使用了 INSERT 陳述式的大量插入形式。你可以根據你的特定需求選擇使用其他方案。在今天的文章中,我們將介紹一些替代方案。
聯結(Join)和子查詢(Subquery)都是用於將來自不同資料表中的資料結合為單一個結果集。因此,它們具有許多相似之處和不同之處。一個關鍵的差異是效能。如果執行速度對你的企業極為重要,你應該優先選擇哪一種方法?請繼續閱讀,找出答案!
- 2025 (1)
- 2024 (1)
- 2023 (1)
- 2022 (1)
- 2021 (1)
- 2020 (1)
- 2019 (1)
- 2018 (1)
- 2017 (1)