7
7
-- ===================== ====================
8
8
-- 1. 用戶資料,資料表為 USER
9
9
10
- -- 1. 新增:新增五筆用戶資料 ,資料如下:
10
+ -- 1. 新增:新增六筆用戶資料 ,資料如下:
11
11
-- 1. 用戶名稱為`李燕容`,Email 為`lee2000@hexschooltest.io`,Role為`USER`
12
12
-- 2. 用戶名稱為`王小明`,Email 為`wXlTq@hexschooltest.io`,Role為`USER`
13
13
-- 3. 用戶名稱為`肌肉棒子`,Email 為`muscle@hexschooltest.io`,Role為`USER`
14
14
-- 4. 用戶名稱為`好野人`,Email 為`richman@hexschooltest.io`,Role為`USER`
15
15
-- 5. 用戶名稱為`Q太郎`,Email 為`starplatinum@hexschooltest.io`,Role為`USER`
16
+ -- 6. 用戶名稱為 透明人,Email 為 opcatiy0@hexschooltest.io,Role 為 USER
16
17
18
+ -- 1-2 修改:用 Email 找到 李燕容、肌肉棒子、Q太郎,如果他的 Role 為 USER 將他的 Role 改為 COACH
17
19
18
- -- 1-2 修改:用 Email 找到 李燕容,如果他的Role為USER將他的 Role 改為 COACH
19
-
20
-
21
- -- 1-3 刪除:刪除USER 資料表中,用 Email 找到好野人,並刪除該筆資料
20
+ -- 1-3 刪除:刪除USER 資料表中,用 Email 找到透明人,並刪除該筆資料
22
21
23
22
-- 1-4 查詢:取得USER 資料表目前所有用戶數量(提示:使用count函式)
24
23
32
31
-- █ █ █████ █ █ █████
33
32
-- ===================== ====================
34
33
-- 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`
38
37
-- 3. 名稱為 `21 堂組合包方案`,價格為`4,800` 元,堂數為`21`
39
38
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 堂組合包方案`
43
43
44
44
45
45
-- ████████ █████ █ ████
54
54
-- 2. 將用戶`肌肉棒子`新增為教練,並且年資設定為2年
55
55
-- 3. 將用戶`Q太郎`新增為教練,並且年資設定為2年
56
56
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太郎` 需要有 `有氧運動` 與 `復健訓練` 專長
62
61
63
62
-- 3-3 修改:更新教練的經驗年數,資料需求如下:
64
63
-- 1. 教練`肌肉棒子` 的經驗年數為3年
65
64
-- 2. 教練`Q太郎` 的經驗年數為5年
66
65
67
- -- 3-4 刪除:新增一個專長 空中瑜伽 至SKILL資料表,之後刪除此專長。
68
-
66
+ -- 3-4 刪除:新增一個專長 空中瑜伽 至 SKILL 資料表,之後刪除此專長。
69
67
70
68
71
69
-- ████████ █████ █ █ █
78
76
79
77
-- 4-1. 新增:在`COURSE` 新增一門課程,資料需求如下:
80
78
-- 1. 教練設定為用戶`李燕容`
81
- -- 2. 在課程專長 `skill_id` 上設定為「** `重訓`** 」
79
+ -- 2. 在課程專長 `skill_id` 上設定為「 `重訓` 」
82
80
-- 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
85
83
-- 6. 最大授課人數`max_participants` 設定為10
86
84
-- 7. 授課連結設定`meeting_url`為 https://test-meeting.test.io
87
85
94
92
-- ===================== ====================
95
93
96
94
-- 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
104
107
-- 2. 狀態`status` 設定為課程已取消
105
108
106
- -- 5-3. 新增:`王小明`再次預約 `李燕容` **** 的課程,請在`COURSE_BOOKING`新增一筆資料:
109
+ -- 5-3. 新增:`王小明`再次預約 `李燕容` 的課程,請在`COURSE_BOOKING`新增一筆資料:
107
110
-- 1. 預約人設為`王小明`
108
- -- 2. 預約時間`booking_at` 設為2024-10 -24 17:10:25
111
+ -- 2. 預約時間`booking_at` 設為2024-11 -24 17:10:25
109
112
-- 3. 狀態`status` 設定為即將授課
110
113
111
114
-- 5-4. 查詢:取得王小明所有的預約紀錄,包含取消預約的紀錄
112
115
113
116
-- 5-5. 修改:`王小明` 現在已經加入直播室了,請在`COURSE_BOOKING`更新該筆預約資料(請注意,不要更新到已經取消的紀錄):
114
- -- 1. 請在該筆預約記錄他的加入直播室時間 `join_at` 設為2024-10 -25 14:01:59
117
+ -- 1. 請在該筆預約記錄他的加入直播室時間 `join_at` 設為2024-11 -25 14:01:59
115
118
-- 2. 狀態`status` 設定為上課中
116
119
117
- -- 5-6. 查詢:計算用戶王小明的購買堂數。 (提示:使用SUM函式與Group By)
120
+ -- 5-6. 查詢:計算用戶王小明的購買堂數,顯示須包含以下欄位: user_id , total 。 (需使用到 SUM 函式與 Group By)
118
121
119
- -- 5-7. 查詢:計算用戶王小明的已使用堂數。 (提示:使用Count函式與Group By)
122
+ -- 5-7. 查詢:計算用戶王小明的已使用堂數,顯示須包含以下欄位: user_id , total 。 (需使用到 Count 函式與 Group By)
120
123
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;
122
130
123
131
124
132
-- ████████ █████ █ ███
128
136
-- █ █ █████ █ █ ███
129
137
-- ===================== ====================
130
138
-- 6. 後台報表
131
- -- 6-1 查詢:查詢專長為重訓的教練,並按經驗年數排序,由資深到資淺(提示:使用inner join與order by語法)
139
+ -- 6-1 查詢:查詢專長為重訓的教練,並按經驗年數排序,由資深到資淺(需使用 inner join 與 order by 語法)
140
+ -- 顯示須包含以下欄位: 教練名稱 , 經驗年數, 專長名稱
132
141
133
- -- 6-2 查詢:查詢每種專長的教練數量,並找出教練數量最多的專長(提示:使用Group By與order by與limit語法)
142
+ -- 6-2 查詢:查詢每種專長的教練數量,並只列出教練數量最多的專長(需使用 group by, inner join 與 order by 與 limit 語法)
143
+ -- 顯示須包含以下欄位: 專長名稱, coach_total
134
144
135
- -- 6-3. 查詢:計算10月份組合包方案的銷售數量
145
+ -- 6-3. 查詢:計算 11 月份組合包方案的銷售數量
146
+ -- 顯示須包含以下欄位: 組合包方案名稱, 銷售數量
136
147
137
- -- 6-4. 查詢:計算10月份總營收
148
+ -- 6-4. 查詢:計算 11 月份總營收(使用 purchase_at 欄位統計)
149
+ -- 顯示須包含以下欄位: 總營收
138
150
139
- -- 6-5. 查詢:計算10月份有預約課程的會員人數
151
+ -- 6-5. 查詢:計算 11 月份有預約課程的會員人數(需使用 Distinct,並用 created_at 和 status 欄位統計)
152
+ -- 顯示須包含以下欄位: 預約會員人數
0 commit comments