본문 바로가기

SQL7

[SQL] 자르기 이번 포스팅은 GROUP BY의 '자르기'에 대해서 알아보겠습니다. 신상정보 테이블 자르기 예시 Persons(인물) name age height weight 김과장 30 188 90 김대리 21 167 55 김주임 87 158 48 박사장 54 187 70 박이사 39 177 120 박팀장 90 175 48 화사 25 160 53 이효리 41 182 55 이상해 12 176 90 해당 테이블을 이름으로 자르면 다음과 같습니다. SELECT substring(name,1,1) AS label ,COUNT(*) FROM Persons GROUP BY substring(name,1,1); - 예시2 나이를 기준으로 어린이(20세 미만), 성인 (20~69세), 노인(70세 이상) 으로 파티션을 나누어 보겠습.. 2020. 9. 3.
[SQL] 집약 SQL에는 집약 함수(aggeregate function)라고 합니다. COUNT SUM AVG MAX MIN 너무 기초이므로 다 다루지는 않겠습니다. NonAggTbl 테이블 생성 id data_type data_1 data_2 data_3 data_4 data_5 data_6 Jim A 100 10 34 346 54 Jim B 45 2 167 77 90 157 Jim C 3 687 1355 324 457 Ken A 78 5 724 357 1 Ken B 123 12 178 346 85 235 Ken C 45 23 46 687 33 Beth A 75 0 190 25 356 Beth B 435 0 183 4 325 Beth C 96 128 0 0 12 데이터 타입 'A'의 레코드에 대한 쿼리 SELECT .. 2020. 9. 2.
[SQL] 어쩔 수 없는 UNION 이전 포스팅에서 UNION을 사용하면 않좋다 라고 말씀드렸습니다. 반대로 UNION을 써야 성능이 좋아지는 경우도 있습니다. 이번 포스팅은 이와 관련해서 작성했습니다. SELECT col_1 FROM Table_A WHERE col_2= "A" UNION ALL SELECT col_3 FROM Table_B WHERE col_4= "B" 여러 개의 테이블에서 검색한 결과를 머지하는 경우 UNION이 효율이 좋다. 이 예외를 설명하기 앞서 테이블을 먼저 정의 하겠습니다. key name date_1 flg_1 date_2 flg_2 date_3 flg_3 1 a 2013-11-01 T 2 b 2013-11-01 T 3 c 2013-11-01 F 4 d 2013-12-30 T 5 e 2013-11-01 T .. 2020. 9. 1.
[SQL] 조건 분기 CASE,UNION 차이 이전 글에서 CASE문에 대해 간략히 배웠습니다. 보통 조건을 분기를 할 때 CASE문을 사용합니다. 하지만 CASE문 이외에도 조건 분기에 사용할 수 있는 구문이 있습니다. 그것은 바로 UNION입니다. 하지만 UNION을 조건 분기에 사용한다면 안좋은 예시라고 볼 수 있습니다. UNION은 사용하기 쉽다는 장점이 있지만 SQL에 있어서 조건 분기를 위해 존자하는 구문이 아니기 때문입니다. 따라서 이번시간에는 UNION이 왜 초보자 기술인지 왜 사용하면 안좋은지에 대해 다루어 보겠습니다. WHERE 구문 조금씩 다른 여러개의 SELECT 구문을 합쳐서, 복수의 조건에 일치하는 하나의 결과 집합을 얻고 싶을 때 사용합니다. 이른 방법은 성능적인 측명에서 굉장히 큰 단점을 가지고 있고 하나의 SQL구문이 .. 2020. 8. 31.