Navicat 協同合作提供了團隊在各種資料庫物件上進行協作的途徑,包括連線設定、查詢、彙總管線、程式碼片段、模型工作區、BI 工作區和虛擬群組資訊。 Navicat 提供兩種協作選項:Navicat Cloud 和 Navicat On-Prem Server 。Navicat Cloud 為你的團隊提供了一個儲存 Navicat 物件的中央空間,而 Navicat On-Prem Server 是用於託管雲端環境的本機解決方案,你可以安全地在你的環境內部儲存 Navicat 物件。今天的文章將介紹 Navicat On-Prem Server 如何協助促進團隊內部的協作並更有效地管理 MySQL 和 MariaDB 執行個體。
SQL 最強大的功能之一是 JOIN 作業,它提供了一種簡捷的方式來將一個資料表中的每一列與另一個資料表中的每一列組合起來。然而,有時我們可能希望從一個資料表中找出另一個資料表中不存在的值。正如我們在今天的文章中所見,JOIN 也可以用於此目的,方法是包含用於連接資料表的述詞,被稱為反聯結(Anti Join)。它們在回答各種商業相關問題時非常有用,例如:
- 哪些客戶沒有下過訂單?
- 哪些員工尚未被分配部門?
- 哪些銷售人員本週沒有成交交易?
本文將使用 PostgreSQL 的 dvdrental 資料庫 dvdrental 資料庫來介紹反聯結的類型以及示範如何編寫它們。我們將在 Navicat Premium Lite 17 中編寫並執行這些查詢。
大多數資料庫開發人員和管理員對標準的內部、外部、左方和右方聯結類型都很熟悉。雖然這些聯結可以使用 ANSI SQL 編寫,但還有其他類型的聯結是基於關係代數運算子,這些運算子在 SQL 中並沒有語法可以表示。今天我們將探討其中一種聯結類型:半聯結(SEMI JOIN)。下週我們將研究類似的反聯結。為了更好地理解這些類型的聯結是如何運作,我們將使用 Navicat Premium Lite 17 在 PostgreSQL 的 dvdrental 資料庫執行一些 SELECT 查詢。它是一個基於 MySQL Sakila 範例資料庫的免費資料庫。
如果你已接觸編寫 SQL 查詢一段時間,你可能對 WHERE 子句非常熟悉。雖然 WHERE 子句對彙總欄位沒有影響,但有一種方法可以根據彙總值篩選記錄,那就是使用 HAVING 子句。本文將介紹它的工作原理,並提供一些在 SELECT 查詢中使用它的範例。
SQL 的 EXISTS 運算子為我們提供了一種根據某些其他資料的存在(或不存在)來擷取資料的簡單方法。更具體地說,它是一個邏輯運算子,用於評估子查詢的結果並傳回一個布林值(Boolean),指示是否傳回列。雖然 IN 運算子可用於類似的目的,但仍需要注意一些差異。本文將透過幾個範例介紹如何使用 EXISTS 運算子,並提供有關何時使用 EXISTS 而不是 IN 的一些指引。
- 2025 (1)
- 2024 (1)
- 2023 (1)
- 2022 (1)
- 2021 (1)
- 2020 (1)
- 2019 (1)
- 2018 (1)
- 2017 (1)