# 🏅 Day 17 - SQL 相關語法
有一間廠商即將建置「**健身教練線上直播課平台**」
**其優點是:**
- **小班制健身直播課制**:教練會在平台開課,學生前往教練開設的課程頁面報名,課程時間到了後,就可點擊課程直播室進行上課
- 堂數售價:每位健身教練的收費都一致,一堂 50 分鐘**小班制健身直播課**都是 200 元
#### 堂數組合包方案
- 7 堂組合包方案:
- 價格:1,400 元
- 14 堂方案:
- 價格:2,520 元
- 21 堂方案:
- 價格:4,800 元
## 需要必備的知識點
1. [postgres 函式](https://courses.hexschool.com/courses/2025-node-js/lectures/58664093)
## 額外知識補充
1. 下方的 `created_at`、`updated_at` 的 DEFAULT 是**預設值**意思,若是在建立資料時沒填寫的話不會報錯,而是會能放預設值
3. 下方的建立資料表,會需要用雙引號`"USER"`原因是,postgreSQL 的 user 是關鍵字,為了避免撞名所以需要加上雙引號
4. 在選取資料表時, 也請留意要加上雙引號,例如 `SELECT * FROM "USER"`
5. timestamp 也是一種資料格式(Data Type),主要是「時間格式」,範例為 `2024-11-24T17:42:04.452Z`
## 請先建立 users 資料表,再行答題
```sql
CREATE TABLE "USER" (
"id" uuid PRIMARY KEY NOT NULL DEFAULT (gen_random_uuid()),
"name" varchar(50) NOT NULL,
"email" varchar(320) UNIQUE NOT NULL,
"role" varchar(20) NOT NULL, -- 角色,分別有 "USER"、"COACH"
"created_at" timestamp NOT NULL DEFAULT (CURRENT_TIMESTAMP),
"updated_at" timestamp NOT NULL DEFAULT (CURRENT_TIMESTAMP)
);
```
## 題目
**1\. 新增**:新增六筆用戶資料,資料如下:
- 用戶名稱為 `李燕容`,Email 為 `lee2000@hexschooltest.io`,Role 為 `USER`
- 用戶名稱為 `王小明`,Email 為 `wXlTq@hexschooltest.io`,Role 為 `USER`
- 用戶名稱為 `肌肉棒子`,Email 為 `muscle@hexschooltest.io`,Role 為 `USER`
- 用戶名稱為 `好野人`,Email 為 `richman@hexschooltest.io`,Role 為 `USER`
- 用戶名稱為 `Q太郎`,Email 為 `starplatinum@hexschooltest.io`,Role 為 `USER`
- 用戶名稱為 `透明人`,Email 為 `opacity0@hexschooltest.io`,Role 為 `USER`
**2\. 修改**:用 Email 找到 `李燕容`、`肌肉棒子`、`Q太郎`,如果他的 Role 為 `USER` 將他的 Role 改為 `COACH`
**3\. 刪除**:刪除 `USER` 資料表中,用 Email 找到 `透明人`,並刪除該筆資料
**4\. 查詢**:取得 `USER` 資料表目前所有用戶數量(提示:使用 count 函式)
**5\. 查詢**:取得 `USER` 資料表所有用戶資料,並列出前 3 筆(提示:使用 limit 語法)
## 回報流程
將答案寫在 CodePen 並複製 CodePen 連結貼至底下回報就算完成了喔!
解答位置請參考下圖(需打開程式碼的部分觀看)

<!-- 解答:
1. 新增:新增六筆用戶資料,資料如下:
INSERT INTO
"USER"(name, email, role)
VALUES
('李燕容', 'lee2000@hexschooltest.io', 'USER'),
('王小明', 'wXlTq@hexschooltest.io', 'USER'),
('肌肉棒子', 'muscle@hexschooltest.io', 'USER'),
('好野人', 'richman@hexschooltest.io', 'USER'),
('Q太郎', 'starplatinum@hexschooltest.io', 'USER'),
('透明人', 'opacity0@hexschooltest.io', 'USER');
2. 修改:用 Email 找到 李燕容、肌肉棒子、Q太郎,如果他的 Role 為 USER 將他的 Role 改為 COACH
UPDATE
"USER"
SET
role = 'COACH'
WHERE
email IN (
'lee2000@hexschooltest.io',
'muscle@hexschooltest.io',
'starplatinum@hexschooltest.io'
)
AND role = 'USER';
3. 刪除:刪除 USER 資料表中,用 Email 找到 透明人,並刪除該筆資料
DELETE FROM
"USER"
WHERE
email = 'opacity0@hexschooltest.io';
4. 查詢:取得 USER 資料表目前所有用戶數量(提示:使用count函式)
SELECT
COUNT(*) AS "用戶數量"
FROM
"USER";
5. 查詢:取得 USER 資料表所有用戶資料,並列出前 3 筆(提示:使用limit語法)
SELECT * FROM "USER" LIMIT 3;
-->
回報區
---
| # | Discord | CodePen / 答案 |
|--|--|--|
| 01. | daffytseng | [CodePen](https://codepen.io/Daffy-Tseng/pen/azorprg) |
| 02. | Tau | [CodePen](https://codepen.io/Tau-Hsu/pen/xbKNgov?editors=0010) |
| 03. | pja._. | [CodePen](https://codepen.io/PJA0103/pen/OPLYpjQ?editors=0011) |
| 04. | adengg | [CodePen](https://codepen.io/Osases/pen/emOaWzz?editors=0010) |
| 05. | sui_hsilan | [CodePen](https://codepen.io/suihsilan/pen/jENomqN?editors=0010) |
| 06. | poyi | [CodePen](https://codepen.io/poyi-the-flexboxer/pen/vEBwZKo?editors=0010) |
| 07. | 馬德 | [CodePen](https://codepen.io/maywang/pen/WbeBErJ?editors=0010) |
| 08 | CC(tofuuu_cat) | [CodePen](https://codepen.io/CC-cat/pen/ogvRoeR?editors=0010) |
| 09. | Tammy | [CodePen](https://codepen.io/Tammy_Tsai/pen/ZYzNrap) |
| 10.| benson| [CodePen](https://codepen.io/DevilButler/pen/zxOQLdL?editors=0010)|
|11| janetlai|[Codepen](https://codepen.io/eiddkqxz-the-builder/pen/raBgbXV?editors=0010)
| 12. | bian_yang_mofa | [CodePen](https://codepen.io/cssf998811/pen/ZYzdYdz?editors=0010) |
| 13. | hannahpun| [CodePen](https://codepen.io/hannahpun/pen/VYZJKRp) |
| 14. |ZoeKang |[CodePen](https://codepen.io/byehywmx-the-animator/pen/xbKoWoM?editors=0010)|
| 15. |helena |[CodePen](https://codepen.io/helena27/pen/vEBqjrg)|
| 16. |ss585801 |[CodePen](https://codepen.io/ss585801/pen/yyBxBde?editors=0010)|
| 16. |sian |[CodePen](https://codepen.io/uxitysjl-the-flexboxer/pen/JoPQepa?editors=0010)|
| 17.| Rafael| [CodePen](https://codepen.io/yhosutun2490/pen/RNbzQZy)
| 18.| JC| [CodePen](https://codepen.io/lifetimingwhisper/pen/JoPgeOL)
|19.|Lee|[CodePen](https://codepen.io/leemo-tseng/pen/NPWKLKx?editors=1010)
| 20 | hsin yu | [CodePen](https://codepen.io/tina2793778/pen/qEBBEJw) |
| 21. | 地呱 | [Codepen](https://codepen.io/wiibxzdw-the-bold/pen/RNwwPQV?editors=0010) |
| 22 | HarryKuo | [CodePen](https://codepen.io/harry_kuo/pen/OPJJVwQ?editors=0010)|
| 23 | JerryOOO | [CodePen](https://codepen.io/fatiangel/pen/raNVvdy?editors=0010)|
| 24 | SHIANG | [CodePen](https://codepen.io/shiang29/pen/ZYEGvbb?editors=1010)|
| 25 | Arsian Kuo | [CodePen](https://codepen.io/Arsian-Kuo/pen/NPWdVYy)|
| 26 | potato_17859 | [CodePen](https://codepen.io/Girl-Lee/pen/xbxdOwb?editors=0110) |
|27|wuyuli_21403| [CodePen](https://codepen.io/Job-Wilhelm/pen/qEBjZVL?editors=0110) |
<!-- 可複製下方格式
| | | [CodePen]() |
-->