본문 바로가기

Data Literacy

(102)
Chapter 2. JOIN을 이용한 데이터 조합 - (3) SELF JOIN 앞서서 INNER JOIN과 (LEFT/RIGHT) OUTER JOIN에 대해서 학습해 보았습니다. 다시 한번 내용을 되짚어보면, INNER JOIN의 경우 두 개 이상의 테이블에 공통되는 칼럼을 통해서 - 해당 테이블들의 데이터를 연결해 새로운 테이블을 또 하나 생성하는 경우였습니다. 이를테면 CUSTOMER 테이블의 PAYMENT ID를 확인하고, PAYMENT 테이블에 PAYMENT ID를 기반으로 결제 정보를 불러와서 고객 별 결제 정보를 리스트업 할 수 있는 것이죠. LEFT/RIGHT OUTER JOIN의 경우, 두 개의 테이블을 매칭할 때 왼쪽 또는 오른쪽 테이블은 무조건 기준으로서 전부 출력하고, 주어진 조건에 매칭되는 데이터만 반대편에 보여주는 경우에 사용합니다. 만일 매칭되는 데이터가 ..
1. GA 기능 프리뷰(1) - GA4 demo account 접근하기 우선 GA4의 본격적인 사용 방법을 확인하기 전에, GA에서 제공하는 데모 계정을 통해서 GA4의 간단한 기능들을 훑어보도록 하겠습니다. 우선 아래 FAQ 페이지에서 데모 계정으로 접근하는 링크를 제공합니다. 잘 알려진 웹 페이지 Google Merch Shop 계정이 있고, 최근에는 앱(게임) 분석을 위한 데모 계정 Flood it! 계정도 함께 제공합니다. 여기서는 Google Merch Shop 계정을 살펴보도록 하겠습니다. gmail 계정이 로그인된 상태의 크롬 브라우저에서 [Google 애널리틱스 4 속성: Google Merchandise Store(웹 데이터)] 링크를 클릭해 이동해 보겠습니다. 데모 계정 - 애널리틱스 고객센터 도움이 되었나요? 어떻게 하면 개선할 수 있을까요? 예아니요 s..
Chapter 2. JOIN을 이용한 데이터 조합 - (2) [LEFT/RIGHT] OUTER JOIN [LEFT/RIGHT] OUTER JOIN의 개념은, 쿼리를 기반으로 직관적으로 이해하기 어려운 개념입니다. 그래서 일단 표나 구성을 통해서 관념을 이해하고, 이를 쿼리로 적용하는 순서로 설명을 진행해 보도록 하겠습니다. 우선 다음과 같이 임의의 테이블 EMPLOYEE와 DEPARTMENT를 생성해 예제로 적용해 진행하겠습니다. CREATE TABLE department ( DepartmentID INT, DepartmentName VARCHAR(20) ); CREATE TABLE employee ( LastName VARCHAR(20), DepartmentID INT ); INSERT INTO department(DepartmentID, DepartmentName) VALUES(31, '영업부'); I..
0. GA4 기본 개념과 전환(conversion)의 의미 일반적으로 우리는 GA(Google Analytics)를 '웹 로그 분석 툴'로 정의합니다. 그런데 여기서 왜 '로그(log)'라는 단어를 쓸까요? 사실 너무나도 흔하게 사용하는 단어지만 정확한 어원은 모르고 있었네요. log라는 단어는 말 그대로 '통나무'를 의미하고, 배를 타고 항해할 때 항해 일지를 종이가 아닌(비싸서) 통나무에 기록하던 것에서 기인하는 단어입니다. 그런데 이 로그 기록이 시각 / 동작 / 세션 정보와 같은 형태의 정보 나열로만 이루어져 있을 경우, 이것을 보고 그대로 해석하기에는 어려움이 따릅니다. 단순히 상황 나열에 그치기 때문이죠. 그래서 이러한 로그 정보를 보고 사람이 인사이트를 가질 수 있도록 정보를 가공하여 제공하는 툴이 바로 Google Analytics와 같은 툴입니다..
Chapter 2. JOIN을 이용한 데이터 조합 - (1) INNER JOIN 우선 당연하겠지만, JOIN이란 명령어 자체에 대한 정의가 이루어져야 JOIN과 관련된 내용을 배울 수 있을 것입니다. 기본적으로 SQL에서 JOIN은 [한 DB내의 두 개 이상의 테이블에서 레코드를 조합하여 새로운 하나의 테이블을 만들어내는] 구문입니다. JOIN을 두고 "결합"구문이라고도 하는 이유입니다. 굳이 이러한 결합 기능이 SQL에서 존재하고, 사용하는 이유가 무엇일까요? 따로 설명하지 않더라도 개발 경험이 어느 정도 있거나, 이러한 구조에 대한 이해도가 있다면 금방 이해가 가겠지만, 이러한 관념 자체가 없는 분들이라면 추후에 DB 테이블을 직접 생성하고 구조를 짜는 단계까지 갔을 때 쉽게 이해하실 수 있을 것이라고 생각합니다. 현 단계에서는, 다음 내용만 이해하고 넘어가면 되겠습니다. 회원 ..
Chapter 1. 데이터 조회, 필터링(11) - IS NULL 이번 시간에 다룰 내용은 IS NULL 입니다. 아마 키워드만 봐도 대략 어떤 용도인지 감이 오시죠? IS NOT NULL과 함께 사용되며, 이는 특정 컬럼 값이 NULL인지 아닌지 여부를 판단하게 되는 키워드 입니다. 기본적인 사용 방식은 다음과 같습니다. select * from table_name where column_name is null select * from table_name where column_name is not null 우선 이번에 IS NULL 예제를 실습하기 위해서, 두 개의 row를 가진 임의의 테이블을 하나 생성해 보겠습니다. 아직 테이블 생성과 관련된 내용은 배우지 않았지만, 간단하게 명령어를 중심으로 살펴보겠습니다. create table contacts ( id in..
Chapter 1. 데이터 조회, 필터링(10) - LIKE 이제 드디어 LIKE연산자를 살펴볼 차례입니다. 사실 LIKE 연산자는 정규 표현식이나 String 데이터 관련 명령어처럼 디테일한 문자열의 조건을 지정하여 데이터를 출력할 수 있도록 도와주는 키워드입니다. 그래서, 다소 사용 방법이 어렵게 느껴지기도 하고 복잡한 편입니다. 하지만 몇 가지 주요 규칙만 기억한다면, 아주 유용하게 데이터를 검색할 수 있게 되는 유용한 명령어이니 잘 학습해 보도록 합시다. LIKE는 기본적으로 특정 칼럼의 값이 '지정한 조건과 같은 패턴을 갖고 있으면 출력하는' 명령어입니다. 여기서 어떤 패턴(조건)을 정의하느냐에 따라 출력되는 결과 값이 달라지는 것이지요. LIKE 역시 조건을 정의하는 키워드이기 때문에, WHERE과 함께 쓴다고 생각해 주시면 됩니다. 아래의 기본형 예시..
Chapter 1. 데이터 조회, 필터링(9) - BETWEEN 이번 아티클에서는 BETWEEN 연산자에 대해서 살펴보겠습니다. BETWEEN은 단어에서도 연상할 수 있듯이, '어떤 특정한 범위에 들어가는 값'을 출력하는 연산자입니다. 예를 들어 WHERE COLUMN_NAME BETWEEN X AND Y와 같은 형태가 되는 것이지요. [BETWEEN X AND Y]는 SQL에서 [X 이상이며 Y이하인 값]을 의미하게 됩니다. 이를 풀어서 WHERE 키워드 조건으로 풀어본다면 [COLUMN_NAME >= X AND COLUMN_NAME = x and column_name y와 같다 Q. PAYMENT테이블에서 지불 금액(AMOUNT)이 8달러 이상, 9달러 이하인 고객의 CUSTOMER_ID, PAYMENT_ID, AMOUNT를 출력해 주세요. select custo..