2. 大綱
● Go 初學建議軟體
– Go SAS Enterprice Guide
– Go Microsoft Azure Machine Learning
● Go 指令說明和執行順序
– Go SELECT
– Go WHERE
– Go FROM (JOIN)
– Go GROUP BY(待補)
– Go HAVING (待補)
– Go ORDER BY
– Go 其他(待補)
2Terence Huang
9. SELECT (1/2)
● Q: 從舊表格部分的欄位建立新表格
9Terence Huang 回大綱
old_A
id area age sex
1 S 5 male
2 N 20 female
3 S 30 male
4 S 10 female
5 N 60 male
6 E 90 female
new
id area
1 S
2 N
3 S
4 S
5 N
6 E
10. SELECT (2/2)
● Q: 從舊表格部分的欄位建立新表格
● A:
● Note.選擇所有或指定 table 中所有的欄位
10Terence Huang 回大綱
CREATE TABLE new
SELECT t1.id, t1.area
FROM old_A as t1
SELECT *
SELECT t1.*
11. new
id area age sex
1 S 5 male
2 N 20 female
4 S 10 female
5 N 60 male
WHERE (1/2)
● Q: 以舊表格中符合條件的資料建立新表格
ex. area ∈ {S, N}
11Terence Huang 回大綱
old_A
id area age sex
1 S 5 male
2 N 20 female
3 E 30 male
4 S 10 female
5 N 60 male
6 E 90 female
12. WHERE (2/2)
● Q: 以舊表格中符合條件的資料建立新表格
ex. area ∈ {S, N}
● A1:
● A2:
12Terence Huang 回大綱
CREATE TABLE new
SELECT t1.id, t1.area, t1.age, t1.sex
FROM old_A as t1
WHERE t1.area = ”S” or t1.area =
“N”
CREATE TABLE new
SELECT *
FROM old_A as t1
WHERE t1.area in (”S”, ”N”)
13. new
id ag
e
sex incom
e
1 5 male 20
4 10 female 10
5 60 male 30
FROM (JOIN) (1/4)
Terence Huang 13
● Q: 需要的欄位散落在兩張舊表格中,但有共通欄位
回大綱
old_A
id area age sex
1 S 5 male
2 N 20 female
3 E 30 male
4 S 10 female
5 N 60 male
6 E 90 female
old_B
id incom
e
1 20
4 10
5 30
7 40
8 11
19 20
14. FROM (JOIN) (2/4)
● Q: 需要的欄位散落在兩張舊表格中,但有共通欄位
● A1:
● A2:
14Terence Huang 回大綱
CREATE TABLE new
SELECT t1.id, t1.age, t1.sex,
t2.income
FROM old_A as t1, old_B as t2
WHERE t1.id = t2.id
CREATE TABLE new
SELECT t1.id, t1.age, t1.sex, t2.*
FROM old_A as t1 INNER JOIN
old_B
as t2 on t1.id = t2.id
15. FROM (JOIN) (3/4)
● Q: 需要的欄位散落在兩張舊表格中,但有共通欄位
還各別加入以下條件
● Q1: id 出現在 old_A 也出現在 old_B 的 (剛剛的條件)
● Q2: id 出現在 old_A 或 old_B 的
● Q3: id 出現在 old_B 中的
● Q4: id 沒出現在 old_A 但出現在 old_B 的
● FROM (JOIN) 的分類有,INNER, OUTER, FULL
● 寫法參考下頁,自行練習
15Terence Huang 回大綱
17. new
id area age sex
6 E 90 female
3 E 30 male
5 N 60 male
2 N 20 female
4 S 10 female
1 S 5 male
ORDER BY (1/2)
● Q: 將舊表格中以某欄資料排序呈現
ex. 先以 area 由小到大, 再以 age 由大到小
17Terence Huang 回大綱
old_A
id area age sex
1 S 5 male
2 N 20 female
3 E 30 male
4 S 10 female
5 N 60 male
6 E 90 female
18. ORDER BY (2/2)
● Q: 將舊表格中以某欄資料排序呈現
ex. 先以 area 由小到大, 再以 age 由大到小
● A:
18Terence Huang 回大綱
CREATE TABLE new
SELECT *
FROM old_A as t1
ORDER BY t1.area ASC, t1.age
DESC