SQLite - 실습(실제데이터 다루기)

Soogyung Gwon·2026년 2월 12일

구름을잡아라

목록 보기
18/60

https://wikidocs.net/71593

CSV 파일 Import

SQLite 실행 -> New Databse -> 이름 입력 후 x를 눌러 Table definition 창에서 나오기 -> Import table from csv

테이블 조회

테이블 이름에 ()가 있어서 인가 (혹은 이름이 너무 길어서?) 처음에는 실패하셨으나, 이름을 바꾸고 난 뒤 성공

SELECT count(*) FROM 소상공인시장진흥공단_상가정보

특정 데이터 조회

select **distinct** 시도명
from 소상공인시장진흥공단_상가정보

select distinct 시군구명
from 소상공인시장진흥공단_상가정보
where 시도명 = '서울특별시'

select 상호명, 시도명, 시군구명, 행정동명
from 소상공인시장진흥공단_상가정보
where 시도명 = '서울특별시' and 상호명 like '공차%'
order by 시군구명, 행정동명

select 시도명, 시군구명, count(*)
from 소상공인시장진흥공단_상가정보
where 시도명 in ('서울특별시', '경기도', '인천광역시') and 상호명 like '공차%'
group by 시도명, 시군구명

select 행정구역, `2026년01월_총인구수` 인구수
from 주민등록인구및세대현황
where 행정구역 like '서울특별시 종로구%'

조인

컬럼 붙여 조회하기

select distinct 시도명 || ' ' || 시군구명
from 소상공인시장진흥공단_상가정보
  • || = 문자열 연결(Concatenation) 연산자

조인

select 시도명, 시군구명, 매장수, 인구수
from
    (select 시도명, 시군구명, count(*) as 매장수
     from 소상공인시장진흥공단_상가정보
     where 시도명 in ('서울특별시', '경기도', '인천광역시') and 상호명 like '공차%'
     group by 시도명, 시군구명) 매장,
    (select 행정구역, `2026년01월_총인구수` as 인구수 
     from 주민등록인구및세대현황) 인구
where 인구.행정구역 like 매장.시도명 || ' ' || 매장.시군구명 || '%'

매장당인구수에 따라 정렬

select *
from (
    select 시도명, 시군구명, 매장수, 인구수, 인구수/매장수 as 매장당인구수
    from
    (select 시도명, 시군구명, count(*) 매장수
     from 소상공인시장진흥공단_상가정보
     where 시도명 in ('서울특별시', '경기도', '인천광역시') and 상호명 like '공차%'
     group by 시도명, 시군구명) 매장,
    (select
         행정구역,
         replace(`2026년01월_총인구수`, ',', '') as 인구수               --- 콤마 제거
     from 주민등록인구및세대현황) 인구
    where 인구.행정구역 like 매장.시도명 || ' ' || 매장.시군구명 || '%'
)
order by 매장당인구수 asc                                               --- 오름차순 정렬

혹은

select
    시도명,
    시군구명,
    count(*) 매장수,
    `2026년01월_총인구수` 인구수,
    replace(`2026년01월_총인구수`, ',', '') / count(*) as 매장당인구수
from 소상공인시장진흥공단_상가정보 매장, 주민등록인구및세대현황 인구
where 인구.행정구역 like 매장.시도명 || ' ' || 매장.시군구명 || '%'
and 시도명 in ('서울특별시', '경기도', '인천광역시') and 상호명 like '공차%'
group by 시도명, 시군구명
order by 매장당인구수 asc

연습문제 - 소수점 1자리까지 나타내기

profile
오랜시간 망설였던 코딩을 다시 해보려고 노력하고 있는 사람

0개의 댓글