Snowflake의 데이터 타입과 함수
Jake Roach
Field Data Engineer

비교 연산자는 여러 값을 비교·평가합니다
=, 두 값이 같은가?!=, 두 값이 서로 다른가?<, 한 값이 다른 값보다 작은가?>, 한 값이 다른 값보다 큰가?<= 작거나 같은가>=, 크거나 같은가$$
true 또는 false를 반환합니다!
$$
1 = 1, -- true1 != 1, -- false1 < 2, -- true1 > 2, -- false1 <= 2, -- true2 >= 2 -- true... WHERE 1 = 1 -- 레코드 필터링
SELECT
<#> + <#>, -- 2 + 2 -> 4
<field> - <#>, -- 4 - 1 -> 3
<field> * <#>, -- 3 * 2 -> 6
<field> / <#>, -- 9 / 3 -> 3
...
#와 field 조합 간에 연산 가능산술 연산자는 수치 값으로 계산을 수행합니다
$$
+, 덧셈-, 뺄셈*, 곱셈/, 나눗셈SELECT student_name, exam_score,exam_score + 10 AS add_points, -- 각 학생 점수에 10점 추가exam_score * curve AS curved, -- 10% 곡선 보정exam_score / 2 AS weighted -- 시험 가중치 절반으로 감소FROM STUDENTS.grades;
student_name | exam_score | add_points | curved | weighted
-------------- | -------------- | ------------ | -------- | ----------
Ryan | 78 | 88 | 85.8 | 39
Tatiana | 89 | 99 | 97.9 | 44.5
Pankaj | 74 | 84 | 81.4 | 37

SELECT<1>,SUM(<field>), -- 컬럼의 총합 반환AVG(<field>) -- 컬럼의 평균값 계산FROM ...GROUP BY <1>;
비집계 필드는 반드시 GROUP BY 해야 합니다!
GROUP BY ALLSELECT exam_name, SUM(correct_answers) AS total_correct_answers, -- 정답 수 합계 AVG(exam_score) AS avg_exam_score, -- 시험 점수 평균ROUND(AVG(exam_score), 1) AS rounded_exam_score -- ROUND(<value>, <n>)FROM STUDENTS.grades GROUP BY exam_name; -- 레코드 집계를 위해 GROUP BY, 그렇지 않으면 오류
ROUND()는 반올림할 값과 소수점 이하 자릿수를 받습니다
exam_name | total_correct_answers | avg_exam_score | rounded_avg_exam_score
------------- | ----------------------- | ---------------- | ------------------------
Calculus I | 871 | 89.11111 | 89.1
Biology | 776 | 87.47777 | 87.5
English III | 541 | 91.33333 | 91.3
Python | 1179 | 92.78787 | 92.8
Finance | 349 | 96.14156 | 96.1
다음으로 생성된 값입니다:
SUM(correct_answers)AVG(exam_score)ROUND(AVG(exam_score), 2)Snowflake의 데이터 타입과 함수