各資料庫 SQL 語法差異比較
不同資料庫系統雖然都遵循 SQL 標準,但各有其特有語法與函數。使用 SQL 格式化工具時選擇對應的資料庫類型,可確保關鍵字大小寫與縮排符合該系統的慣例。
🐬 MySQL 特有語法
使用 LIMIT 分頁、AUTO_INCREMENT 自增欄位、反引號(`)包住識別符,以及 GROUP_CONCAT() 聚合函數。
🐘 PostgreSQL 進階功能
支援 LIMIT/OFFSET、JSONB 資料型態、陣列運算子、視窗函數(OVER),以及 RETURNING 子句。
🏛️ Oracle / PL-SQL
使用 ROWNUM 分頁(Oracle 11 以下)、FETCH FIRST n ROWS(12c+)、DUAL 虛擬表,以及 NVL() 取代 COALESCE()。
🏢 SQL Server T-SQL
使用 TOP n 限制筆數、ISNULL()、CTE 公用資料表運算式,以及 MERGE 語句進行 Upsert 操作。