跳到正文
馬克工具箱

線上 SQL 練習

不用安裝資料庫,開啟網頁就能寫 SQL。內建一份員工和部門的示例資料,適合練習 SELECT、JOIN、GROUP BY、子查詢和視窗函式;也可以開啟自己的 SQLite 資料庫檔案查詢,改完再下載回來。

在瀏覽器本地執行,輸入的內容和檔案都不會上傳

示例:
Ctrl+Enter / ⌘+Enter

或把檔案拖到這裡

使用步驟

  1. 在編輯框裡寫 SQL,或點選上方的示例;可以一次寫多條語句,用分號分隔。
  2. 點「執行」或按 Ctrl+Enter(Mac 上是 ⌘+Enter),每條查詢的結果顯示為一張表。
  3. 改亂了可以點「重置示例資料」;要處理自己的資料,開啟 .db 或 .sqlite 檔案。
  4. 需要儲存時點「下載資料庫」,得到當前資料庫的 SQLite 檔案。

引數說明

示例資料
departments(部門)和 employees(員工,含薪資、入職日期)兩張表,其中一名員工沒有部門,方便練習 LEFT JOIN 和 NULL。
SQL 方言
SQLite 3 語法,支援 CTE(WITH)、視窗函式、JSON 函式、UPSERT 等。與 MySQL、PostgreSQL 的語法大體相同,日期函式、自增寫法等細節有差異。
結果顯示
每條返回結果的語句單獨顯示一張表,最多顯示 1000 行;增刪改語句顯示修改的行數。

示例查詢

-- 各部門人數和平均薪資
SELECT d.name AS department, COUNT(*) AS people, AVG(e.salary) AS avg_salary
FROM employees e JOIN departments d ON d.id = e.department_id
GROUP BY d.name
ORDER BY avg_salary DESC;

常見問題

資料會儲存嗎?

資料庫只在當前頁面的記憶體裡,重新整理後恢復成示例資料。需要保留時先「下載資料庫」,下次再開啟這個檔案。

可以開啟多大的資料庫檔案?

整個檔案會讀入記憶體,幾十 MB 以內都沒問題,更大的檔案取決於裝置記憶體。

資料會上傳嗎?

不會。SQLite 編譯成 WebAssembly 在瀏覽器中執行,查詢和資料都不離開你的裝置。

能連線 MySQL 或 PostgreSQL 伺服器嗎?

不能。這裡執行的是瀏覽器內的 SQLite,不連線任何外部資料庫。

隱私說明

本工具完全在瀏覽器中執行,檔案和文字都在你的裝置上處理,不會上傳到我們的伺服器。

相關工具