77-- ===================== ====================
88-- 1. 用戶資料,資料表為 USER
99
10- -- 1. 新增:新增五筆用戶資料 ,資料如下:
10+ -- 1. 新增:新增六筆用戶資料 ,資料如下:
1111-- 1. 用戶名稱為`李燕容`,Email 為`[email protected] `,Role為`USER`1212-- 2. 用戶名稱為`王小明`,Email 為`[email protected] `,Role為`USER`1313-- 3. 用戶名稱為`肌肉棒子`,Email 為`[email protected] `,Role為`USER`1414-- 4. 用戶名稱為`好野人`,Email 為`[email protected] `,Role為`USER`1515-- 5. 用戶名稱為`Q太郎`,Email 為`[email protected] `,Role為`USER`16+ -- 6. 用戶名稱為 透明人,Email 為 [email protected] ,Role 為 USER1617
18+ -- 1-2 修改:用 Email 找到 李燕容、肌肉棒子、Q太郎,如果他的 Role 為 USER 將他的 Role 改為 COACH
1719
18- -- 1-2 修改:用 Email 找到 李燕容,如果他的Role為USER將他的 Role 改為 COACH
19-
20-
21- -- 1-3 刪除:刪除USER 資料表中,用 Email 找到好野人,並刪除該筆資料
20+ -- 1-3 刪除:刪除USER 資料表中,用 Email 找到透明人,並刪除該筆資料
2221
2322-- 1-4 查詢:取得USER 資料表目前所有用戶數量(提示:使用count函式)
2423
3231-- █ █ █████ █ █ █████
3332-- ===================== ====================
3433-- 2. 組合包方案 CREDIT_PACKAGE、客戶購買課程堂數 CREDIT_PURCHASE
35- -- 2-1. 1. **新增** :在`CREDIT_PACKAGE` 資料表新增三筆教練資料,資料需求如下:
36- -- 1. 名稱為 `7 堂組合包方案`**,** 價格為`1,400` 元,堂數為`7`
37- -- 2. 名稱為`14 堂組合包方案`**,** 價格為`2,520` 元,堂數為`14`
34+ -- 2-1. 新增 :在`CREDIT_PACKAGE` 資料表新增三筆教練資料,資料需求如下:
35+ -- 1. 名稱為 `7 堂組合包方案`, 價格為`1,400` 元,堂數為`7`
36+ -- 2. 名稱為`14 堂組合包方案`, 價格為`2,520` 元,堂數為`14`
3837 -- 3. 名稱為 `21 堂組合包方案`,價格為`4,800` 元,堂數為`21`
3938
40- -- 2-2. 新增:在`CREDIT_PURCHASE`資料表新增兩筆 `王小明` 購買組合包的資料:
41- -- 1. `14 堂組合包方案`
42- -- 2. `21 堂組合包方案`
39+ -- 2-2. 新增:在 `CREDIT_PURCHASE` 資料表,新增三筆資料:(請使用 name 欄位做子查詢)
40+ -- 1. `王小明` 購買 `14 堂組合包方案`
41+ -- 2. `王小明` 購買 `21 堂組合包方案`
42+ -- 3. `好野人` 購買 `14 堂組合包方案`
4343
4444
4545-- ████████ █████ █ ████
5454 -- 2. 將用戶`肌肉棒子`新增為教練,並且年資設定為2年
5555 -- 3. 將用戶`Q太郎`新增為教練,並且年資設定為2年
5656
57- -- 3-2. 2. 新增:承1,為三名教練新增專長資料至 `COACH_LINK_SKILL` ,資料需求如下:
58- -- 1. 所有教練都有 **`重訓`** 專長
59- -- 2. 教練`肌肉棒子` 需要有**`瑜珈`** 專長
60- -- 3. 教練`Q太郎` 需要有**`有氧運動`** 與**`復健訓練`**專長
61-
57+ -- 3-2. 新增:承1,為三名教練新增專長資料至 `COACH_LINK_SKILL` ,資料需求如下:
58+ -- 1. 所有教練都有 `重訓` 專長
59+ -- 2. 教練`肌肉棒子` 需要有 `瑜珈` 專長
60+ -- 3. 教練`Q太郎` 需要有 `有氧運動` 與 `復健訓練` 專長
6261
6362-- 3-3 修改:更新教練的經驗年數,資料需求如下:
6463 -- 1. 教練`肌肉棒子` 的經驗年數為3年
6564 -- 2. 教練`Q太郎` 的經驗年數為5年
6665
67- -- 3-4 刪除:新增一個專長 空中瑜伽 至SKILL資料表,之後刪除此專長。
68-
66+ -- 3-4 刪除:新增一個專長 空中瑜伽 至 SKILL 資料表,之後刪除此專長。
6967
7068
7169-- ████████ █████ █ █ █
7876
7977-- 4-1. 新增:在`COURSE` 新增一門課程,資料需求如下:
8078 -- 1. 教練設定為用戶`李燕容`
81- -- 2. 在課程專長 `skill_id` 上設定為「** `重訓`** 」
79+ -- 2. 在課程專長 `skill_id` 上設定為「 `重訓` 」
8280 -- 3. 在課程名稱上,設定為「`重訓基礎課`」
83- -- 4. 授課開始時間`start_at`設定為2024-10 -25 14:00:00
84- -- 5. 授課結束時間`end_at`設定為2024-10 -25 16:00:00
81+ -- 4. 授課開始時間`start_at`設定為2024-11 -25 14:00:00
82+ -- 5. 授課結束時間`end_at`設定為2024-11 -25 16:00:00
8583 -- 6. 最大授課人數`max_participants` 設定為10
8684 -- 7. 授課連結設定`meeting_url`為 https://test-meeting.test.io
8785
9492-- ===================== ====================
9593
9694-- 5. 客戶預約與授課 COURSE_BOOKING
97- -- 5-1. 新增:`王小明`預約 `李燕容`的課程,請在`COURSE_BOOKING`新增一筆資料:
98- -- 1. 預約人設為`王小明`
99- -- 2. 預約時間`booking_at` 設為2024-10-24 16:00:00
100- -- 3. 狀態`status` 設定為即將授課
101-
102- -- 5-2. 修改:`王小明`取消預約 `李燕容` ****的課程,請在`COURSE_BOOKING`更新該筆預約資料:
103- -- 1. 取消預約時間`cancelled_at` 設為2024-10-24 17:00:00
95+ -- 5-1. 新增:請在 `COURSE_BOOKING` 新增兩筆資料:
96+ -- 1. 第一筆:`王小明`預約 `李燕容` 的課程
97+ -- 1. 預約人設為`王小明`
98+ -- 2. 預約時間`booking_at` 設為2024-11-24 16:00:00
99+ -- 3. 狀態`status` 設定為即將授課
100+ -- 2. 新增: `好野人` 預約 `李燕容` 的課程
101+ -- 1. 預約人設為 `好野人`
102+ -- 2. 預約時間`booking_at` 設為2024-11-24 16:00:00
103+ -- 3. 狀態`status` 設定為即將授課
104+
105+ -- 5-2. 修改:`王小明`取消預約 `李燕容` 的課程,請在`COURSE_BOOKING`更新該筆預約資料:
106+ -- 1. 取消預約時間`cancelled_at` 設為2024-11-24 17:00:00
104107 -- 2. 狀態`status` 設定為課程已取消
105108
106- -- 5-3. 新增:`王小明`再次預約 `李燕容` **** 的課程,請在`COURSE_BOOKING`新增一筆資料:
109+ -- 5-3. 新增:`王小明`再次預約 `李燕容` 的課程,請在`COURSE_BOOKING`新增一筆資料:
107110 -- 1. 預約人設為`王小明`
108- -- 2. 預約時間`booking_at` 設為2024-10 -24 17:10:25
111+ -- 2. 預約時間`booking_at` 設為2024-11 -24 17:10:25
109112 -- 3. 狀態`status` 設定為即將授課
110113
111114-- 5-4. 查詢:取得王小明所有的預約紀錄,包含取消預約的紀錄
112115
113116-- 5-5. 修改:`王小明` 現在已經加入直播室了,請在`COURSE_BOOKING`更新該筆預約資料(請注意,不要更新到已經取消的紀錄):
114- -- 1. 請在該筆預約記錄他的加入直播室時間 `join_at` 設為2024-10 -25 14:01:59
117+ -- 1. 請在該筆預約記錄他的加入直播室時間 `join_at` 設為2024-11 -25 14:01:59
115118 -- 2. 狀態`status` 設定為上課中
116119
117- -- 5-6. 查詢:計算用戶王小明的購買堂數。 (提示:使用SUM函式與Group By)
120+ -- 5-6. 查詢:計算用戶王小明的購買堂數,顯示須包含以下欄位: user_id , total 。 (需使用到 SUM 函式與 Group By)
118121
119- -- 5-7. 查詢:計算用戶王小明的已使用堂數。 (提示:使用Count函式與Group By)
122+ -- 5-7. 查詢:計算用戶王小明的已使用堂數,顯示須包含以下欄位: user_id , total 。 (需使用到 Count 函式與 Group By)
120123
121- -- 5-8. 查詢:請在一次查詢中,計算用戶王小明的剩餘可用堂數 (提示:使用Inner Join)
124+ -- 5-8. [挑戰題] 查詢:請在一次查詢中,計算用戶王小明的剩餘可用堂數,顯示須包含以下欄位: user_id , remaining_credit
125+ -- 提示:
126+ -- select ("CREDIT_PURCHASE".total_credit - "COURSE_BOOKING".used_credit) as remaining_credit, ...
127+ -- from ( 用戶王小明的購買堂數 ) as "CREDIT_PURCHASE"
128+ -- inner join ( 用戶王小明的已使用堂數) as "COURSE_BOOKING"
129+ -- on "COURSE_BOOKING".user_id = "CREDIT_PURCHASE".user_id;
122130
123131
124132-- ████████ █████ █ ███
128136-- █ █ █████ █ █ ███
129137-- ===================== ====================
130138-- 6. 後台報表
131- -- 6-1 查詢:查詢專長為重訓的教練,並按經驗年數排序,由資深到資淺(提示:使用inner join與order by語法)
139+ -- 6-1 查詢:查詢專長為重訓的教練,並按經驗年數排序,由資深到資淺(需使用 inner join 與 order by 語法)
140+ -- 顯示須包含以下欄位: 教練名稱 , 經驗年數, 專長名稱
132141
133- -- 6-2 查詢:查詢每種專長的教練數量,並找出教練數量最多的專長(提示:使用Group By與order by與limit語法)
142+ -- 6-2 查詢:查詢每種專長的教練數量,並只列出教練數量最多的專長(需使用 group by, inner join 與 order by 與 limit 語法)
143+ -- 顯示須包含以下欄位: 專長名稱, coach_total
134144
135- -- 6-3. 查詢:計算10月份組合包方案的銷售數量
145+ -- 6-3. 查詢:計算 11 月份組合包方案的銷售數量
146+ -- 顯示須包含以下欄位: 組合包方案名稱, 銷售數量
136147
137- -- 6-4. 查詢:計算10月份總營收
148+ -- 6-4. 查詢:計算 11 月份總營收(使用 purchase_at 欄位統計)
149+ -- 顯示須包含以下欄位: 總營收
138150
139- -- 6-5. 查詢:計算10月份有預約課程的會員人數
151+ -- 6-5. 查詢:計算 11 月份有預約課程的會員人數(需使用 Distinct,並用 created_at 和 status 欄位統計)
152+ -- 顯示須包含以下欄位: 預約會員人數
0 commit comments