yeongdev
close
프로필 사진

yeongdev

github: @ Westzer00

  • 분류 전체보기 (84) N
    • [SK플래닛] ASAC 빅데이터전문가 11기 (31) N
      • 학습기록 (31) N
    • AI & Machine Learning (6) N
      • ML 수학 (6) N
      • Machine Learning (0)
      • Deep Learning (0)
    • Data Analytics (36)
      • Python·Pandas (6)
      • 수집·크롤링 (10)
      • SQL (19)
      • 시각화 (1)
    • Coding Test (11)
      • 문제풀이 (6)
      • Python & Algorithm (5)
    • DevOps & Tools (0)
  • 홈
  • 태그
  • 방명록

SQL에서 NULL과 빈 문자열 차이 | age_certification 필터링 실수 방지

SQL에서 결측처럼 보이는 값이 있다고 해서 전부 NULL인 것은 아니다. 실제 데이터에서는 NULL 대신 빈 문자열('') 로 들어간 경우가 생각보다 자주 나온다. 그래서 필터링 전에 값을 직접 확인하지 않으면, 분명 등급 없는 데이터를 제외했다고 생각했는데 결과가 이상하게 남아 있는 상황이 생긴다.이 문제는 특히 범주형 컬럼을 다룰 때 자주 나온다. 예를 들어 콘텐츠 데이터의 age_certification처럼 연령 등급이 들어가는 컬럼은 값이 없을 때 NULL일 수도 있고, 빈 문자열일 수도 있고, 심지어 공백 문자열일 수도 있다. 그래서 분석 전에 먼저 해야 할 일은 **“결측처럼 보이는 값이 실제로 어떤 형태로 저장돼 있는지 확인하는 것”**이다.NULL과 빈 문자열은 왜 다를까SQL에서 NUL..

  • format_list_bulleted Data Analytics/SQL
  • · 2026. 5. 28.

MySQL CSV 파일 넣기 | LOAD DATA LOCAL INFILE 사용법과 오류 체크

MySQL에 CSV 파일을 넣을 때 가장 많이 막히는 포인트는 SQL 문법보다 순서다. 보통은 LOAD DATA LOCAL INFILE 문장만 외우고 바로 실행하려다가 No database selected, table doesn't exist, local_infile disabled 같은 오류를 먼저 만나게 된다. 실제로는 DB 선택 → 테이블 생성 확인 → local infile 확인 → CSV 적재 → 결과 검증 순서로 가야 훨씬 덜 꼬인다.특히 처음 CSV를 넣을 때는 “CSV만 있으면 바로 들어가겠지”라고 생각하기 쉬운데, MySQL은 먼저 어느 DB에 넣을지, 어느 테이블에 넣을지, 로컬 파일 읽기를 허용하는지가 정리돼 있어야 한다. 이 글에서는 MySQL 기준으로 CSV 파일을 불러오는 전체 ..

  • format_list_bulleted Data Analytics/SQL
  • · 2026. 5. 26.

SQL CASE WHEN + LIKE 정리 | 리뷰 데이터에서 키워드 언급 수 세기

리뷰 데이터에서 특정 키워드가 얼마나 자주 언급되는지 확인하고 싶다면, SQL에서는 LIKE와 CASE WHEN을 함께 쓰는 방식이 가장 단순하고 실용적이다. LIKE '%keyword%'로 특정 단어 포함 여부를 확인하고, CASE WHEN ... THEN 1 ELSE 0 END로 이를 숫자로 바꾼 뒤, SUM()으로 합치면 키워드 언급 수를 바로 집계할 수 있다.이 패턴은 리뷰 분석, VOC 분류, 상품 피드백 요약처럼 텍스트가 섞인 데이터에서 자주 쓰인다. 특히 NLP까지 가지 않고도 “사이즈 언급 수”, “large/small 언급 비율”, “카테고리별 불만 키워드” 정도는 SQL만으로 빠르게 볼 수 있어서 EDA 단계에서 꽤 유용하다.이 패턴이 자주 쓰이는 이유리뷰 데이터는 길게 읽어야 의미가 ..

  • format_list_bulleted Data Analytics/SQL
  • · 2026. 5. 26.

SQL 서브쿼리 주의점 | 최고값 비교할 때 조건 범위를 맞춰야 하는 이유

SQL에서 서브쿼리로 최고값을 비교할 때 가장 흔한 실수는 바깥 쿼리의 조건 범위와 안쪽 서브쿼리의 조건 범위를 다르게 잡는 것이다. 이 문제는 문법 실수라기보다 비교 기준을 잘못 만드는 문제에 가깝다. MAX(), MIN(), AVG() 같은 집계 함수를 서브쿼리와 함께 쓸 때는 “무엇의 최고값인지”, “어떤 범위의 평균인지”를 먼저 맞춰야 한다.예를 들어 “2015년 영화 중 최고 평점”을 찾고 싶다면, 바깥 쿼리만 2015년 조건을 가지면 안 된다. 서브쿼리 안에서도 같은 범위를 봐야 비교가 성립한다. 이 원리를 이해하지 못하면 결과가 비거나, 전혀 다른 데이터를 가져오는 쿼리가 된다.서브쿼리에서 조건 범위가 중요한 이유서브쿼리는 쿼리 안에서 비교 기준값을 만드는 역할을 자주 맡는다. 대표적인 패턴..

  • format_list_bulleted Data Analytics/SQL
  • · 2026. 5. 26.

SQL JOIN으로 N:M 관계 풀기 | 학생-동아리 연결 테이블 예제

학생 1명이 여러 동아리에 가입할 수 있고, 동아리 1개에도 여러 학생이 가입할 수 있다면 두 테이블만으로는 관계를 깔끔하게 표현하기 어렵다. 이런 구조는 N:M 관계(Many-to-Many) 라고 부르고, 관계형 데이터베이스에서는 보통 연결 테이블을 하나 더 만들어서 해결한다.실무에서 JOIN이 자꾸 헷갈리는 이유도 여기서 시작되는 경우가 많다. 학생 테이블과 동아리 테이블만 보고 바로 연결하려고 하면 구조가 꼬이고, 중복 데이터가 늘어나고, 나중에 조회 쿼리도 애매해진다. 이 글에서는 MySQL 기준으로 N:M 관계를 왜 연결 테이블로 풀어야 하는지, 그리고 PRIMARY KEY, FOREIGN KEY, AUTO_INCREMENT가 왜 같이 등장하는지를 학생-동아리 예제로 정리한다.N:M 관계가 왜 ..

  • format_list_bulleted Data Analytics/SQL
  • · 2026. 5. 20.

SQL INNER JOIN과 LEFT JOIN 차이 | 기준 테이블에 따라 결과가 달라지는 이유

INNER JOIN과 LEFT JOIN의 차이는 문법이 아니라 조회 기준에 있다. INNER JOIN은 양쪽 테이블에 모두 연결되는 데이터만 조회하고, LEFT JOIN은 왼쪽 테이블을 기준으로 전체 데이터를 조회한다. 그래서 SQL JOIN이 헷갈릴 때는 문법보다 먼저 **“내가 전체를 보고 싶은지, 연결된 데이터만 보고 싶은지”**를 정해야 한다.실무에서 이 차이는 생각보다 자주 문제를 만든다. 예를 들어 “동아리에 가입한 학생만 보고 싶은지”, “전체 학생 중 누가 가입하지 않았는지까지 보고 싶은지”에 따라 JOIN 결과가 완전히 달라진다. 이 글에서는 학생-동아리 예제로 INNER JOIN과 LEFT JOIN 차이를 MySQL 기준으로 정리한다.INNER JOIN과 LEFT JOIN을 헷갈리는 이..

  • format_list_bulleted Data Analytics/SQL
  • · 2026. 5. 20.
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (84) N
    • [SK플래닛] ASAC 빅데이터전문가 11기 (31) N
      • 학습기록 (31) N
    • AI & Machine Learning (6) N
      • ML 수학 (6) N
      • Machine Learning (0)
      • Deep Learning (0)
    • Data Analytics (36)
      • Python·Pandas (6)
      • 수집·크롤링 (10)
      • SQL (19)
      • 시각화 (1)
    • Coding Test (11)
      • 문제풀이 (6)
      • Python & Algorithm (5)
    • DevOps & Tools (0)
인기 글
전체 방문자
오늘
어제
Copyright © seooeyeong 모든 권리 보유.
SKIN: Copyright © 쭈미로운 생활 All rights reserved. Designed by JJuum.
and Current skin "dev-roo" is modified by Jin.

티스토리툴바