SQL 是關聯式資料庫的共同語言:不論你在做報表、分析,或管理資料表結構,都離不開它。
本篇用兩張最常見的示範表——COUNTRY(國家)與 CITY(城市)——帶你從零開始:先用 SELECT … FROM …
把資料取出來(全部欄位或指定欄位),再用 ORDER BY
進行升冪/降冪排序,建立最核心的查詢肌肉。
什麼是 SQL?
SQL(Structured Query Language 結構化查詢語言)是一種專為管理關聯式資料庫而設計的程式語言。它允許您:
- 從資料庫中選擇特定資料
- 建立複雜的報表
- 執行資料分析
- 管理資料庫結構
如今,SQL 已成為資料處理的通用語言,幾乎所有處理資料的技術都會使用它。
範例資料:國家表(COUNTRY)
id | name | population | area |
1 | France | 66600000 | 640680 |
2 | Germany | 80700000 | 357000 |
… | … | … | … |
這是我們將用於示範的國家資料表,包含國家的 ID、名稱、人口數量和面積資訊。
範例資料:城市表(CITY)
id | name | country_id | population | rating |
1 | Paris | 1 | 2243000 | 5 |
2 | Berlin | 2 | 3460000 | 3 |
… | … | … | … | … |
這是城市資料表,包含城市的 ID、名稱、所屬國家 ID、人口數量和評分資訊。我們將使用這兩個表來展示各種 SQL 查詢。
查詢單一資料表
查詢所有欄位
SELECT *
FROM country;
此查詢會從 country 表中獲取所有欄位的所有資料。
查詢特定欄位
SELECT id, name
FROM city;
此查詢僅從 city 表中獲取 id 和 name 欄位的資料。
使用 SELECT 語句是 SQL 的基本操作,讓您能夠從資料表中提取所需的資料。
資料排序
升序排列(預設)
SELECT name
FROM city
ORDER BY rating [ASC];
此查詢按評分從低到高排序城市名稱。ASC 是預設值,可以省略。
降序排列
SELECT name
FROM city
ORDER BY rating DESC;
此查詢按評分從高到低排序城市名稱。DESC 表示降序排列。
總結
- SELECT 基本功
- 取全部欄位:
SELECT * FROM country;
(方便但在正式查詢中不建議長期使用)。 - 取指定欄位:
SELECT id, name FROM city;
(更省流量、可讀性更好)。
- 取全部欄位:
- 排序規則
- 升冪(預設):
ORDER BY rating
或ORDER BY rating ASC
。 - 降冪:
ORDER BY rating DESC
。 - 可用多欄位排序:
ORDER BY country_id ASC, rating DESC
。
- 升冪(預設):
掌握 SELECT
與 ORDER BY
,你就能把資料精準取出、照你要的方式排好;接著再疊加 WHERE
、JOIN
,你的查詢就能真正回答商業問題。