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 소상공인시장진흥공단_상가정보
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자리까지 나타내기