SQL 方言參考/簡介
外觀
< SQL 方言參考
SQL(結構化查詢語言)是最古老的程式語言之一,其最早版本可追溯到 1969 年。不幸的是,儘管 SQL 自 1986 年以來一直是標準化的,但仍存在許多不同的實現。它們或多或少地相互偏離,使得開發與各種 SQL 伺服器一起使用的應用程式變得特別困難。
這本華夏公益教科書是針對幾種 SQL 語言方言的簡明比較參考。它列出了幾種流行的 SQL 伺服器實現中解決的特定常見任務和問題。在可能的情況下,它試圖強調通用的解決方案。如果無法實現,它會嘗試列出最佳實踐。
本書的兩個主要目標是 **簡潔性** 和 **完整性**。明顯的資訊,例如特定函式或查詢在所有實現中執行相同操作,不會被列出。但是,當某些實現具有重要的(即使是輕微的)偏差,這些偏差可能成為開發人員的主要陷阱時,此類資訊絕對應該被列出。
目標受眾是
- 瞭解一種 SQL 方言的開發人員,希望立即為其他 SQL 實現開發(這是一種簡單的方法)。
- 將已完成的專案從一個 SQL 實現移植到另一個 SQL 實現或多個 SQL 實現的開發人員。
- 希望他們的應用程式能夠在多個 SQL 伺服器上移植的開發人員(對於希望確保其應用程式可以在各種平臺上使用的開源專案開發人員來說,這尤其有用)。
- 必須支援各種 SQL 伺服器並且不想為每個伺服器記住所有可能的查詢和細微差別的系統管理員。
- 希望評估最適合其專案的 SQL 伺服器,並在給定一系列需求的情況下,專案經理或首席開發人員。
本書不是一個通用的學習課程,也不是一份全面的手冊 - 它是一個快速而簡明的參考,假設讀者瞭解 SQL 的基本概念以及確切的需要。本書討論了相當高階的主題以及 SQL 實現中細微但重要的差異,初學者/學習者通常不必擔心。
只要有可能,本書都會嘗試引用網路釋出的文件,以便讀者始終可以檢查特定的細節,因此頁面通常包含大量外部文件連結。
由於實現的全名很長,每次都完整拼寫起來很不方便,因此我們將使用常見的縮寫(以 **粗體** 顯示)來區分 SQL 方言。此外,我們只提供指向相應維基百科文章的連結,而不是在每次都提供。
本書中的許多頁面都包含可能很長的比較表。建議安裝比較表擴充套件以舒適地檢視這些表。
本書涵蓋了多種 SQL 方言。請注意,在所有特定實現的情況下,只描述了最新的穩定版本。
- 標準。SQL 標準有多個版本(SQL-86、SQL-89、SQL-92、SQL:1999、SQL:2003、SQL:2011)。本書將列出在所有實現中執行某項工作的常見做法,尤其強調特定解決方案適用的 SQL 版本(即,如果某些功能從版本 X 開始成為標準,則會說明該解決方案從版本 X 開始適用)。
- DB2(IBM DB2)。
- Firebird(Firebird 2.5)。一個從 InterBase 原始碼分支出來的開源 RDBMS,這些程式碼於 2000 年 7 月 25 日由 Borland 釋出。Firebird 與 Interbase 不同,它試圖儘可能地接近 SQL 標準
- MonetDB 一個開源列儲存。(MonetDB。V11)
- MySQL(MySQL 5.0)
- MSSQL(Microsoft SQL Server 2008)。由微軟生產的專有 RDBMS,針對企業市場。原始程式碼庫源自 Sybase SQL Server,但大部分已被重寫。文件以結構良好的形式在 MSDN 中提供,非常便於參考。
- Oracle(Oracle Database 11g2)
- PostgreSQL(PostgreSQL 13)
- SQLite.
- Virtuoso(在 Virtuoso Universal Server 上執行的 OpenLink Virtuoso)。
- 程式碼檢查器