지난 포스팅에서 SQL 프로그램에 데이터를 업로드하기까지 진행되었습니다
파일 업로드가 완료되었으니 이번 포스팅부터는
전체 데이터에서 내가 필요한 부분들만 쏙쏙 골라볼 수 있는 쿼리를 볼게요
어찌보면 가장 기초이자, 가장 많이 쓰는 SQL 쿼리들이 되겠네요
오늘 포스팅할 쿼리들을 통해 SQL에서 필요한 부분들을
파이썬으로 읽어와서 본격적이 분석이 시작됩니다
실무 데이터 분석을 하신다면 꼼꼼히 봐주세요
1. 주석 달기
가장 먼저 주석을 달아볼게요
예를들어, '쿼리~~~'를 입력하고, 실행되지 않는 문구를 써야할 때(당연히 이런경우가 많습니다)
SQL실행창에 문자를 그대로 입력하면, 앞에 써놓은 쿼리도 오류가 납니다..ㅠ
그래서 '이 부분은 실행할 쿼리가 아니라 주석이다!'라는 주석 표시를 하고 그 안에 내가 원하는 문구를 써야합니다
형식은,
한줄주석 : --
문단주석 : /* */
-- 코드옆에 간단히 주석을 넣을 때
/* 여러 문단을
주석처리해야할 때 */
위 코드와 같이 사용할 수 있습니다
2. 데이터 탐색 - 모든 컬럼 추출하기
이 데이터가 어떻게 생겼나? 데이터를 확인하고 싶을 때!
실무 데이터는 앞 포스팅에서 제공해드린 CSV파일처럼 크기가 작지 않죠.
그래서 SQL 쿼리를 통해 해당 파일을 탐색할 쿼리 구문입니다
아, 쿼리를 실행할때는
쿼리문을 다 쓰고 컨트롤+엔터를 눌러주세요
코드의미 : sql_ssostory_1 테이블의 모든 컬럼을 읽어라
select *
from sql_ssostory_1
아래쪽에 데이터 테이블이 잘 뽑혔죠? 혹시 데이터가 많다면 스크롤을 내리면 더 나오게됩니다
데이터를 읽어올때
SELECT
FROM
구조를 사용하는데
SELECT는, 읽어올 (테이블 안의)컬럼들 (컬럼은 간단히 말하자면, 엑셀데이터의 열이라고 우선 이해해주세요)
FROM은, 읽어올 테이블
을 의미합니다
그리고 위 코드 SELECT * 에서 '*' 는 모든 컬럼을 의미해요
3. 데이터 탐색 - 특정 컬럼 추출하기
다 읽어올 필요는 없고, 특정 컬럼만 필요하다면?
category 컬럼, store_num 컬럼 2개만 읽어와볼게요
코드의미 : sql_ssostory_1 테이블의 'category', 'store_num' 컬럼을 읽어라
select category, store_num
from sql_ssostory_1
결과가 잘 나왔습니다
원하는 컬럼들만 읽어오면 내가 필요한 부분을 파악하기가 쉽습니다
*참고. 앞부분에 일부 컬럼명, 테이블명 등, 일부만 쓰면 자동추천이 뜹니다. 편리~
4. 데이터 탐색 - 중복값 없이 특정 컬럼 추출하기
위 데이터에서 category 칼럼에서는 중복값들이 발생하네요. 중복값을 제거해 볼게요
기본 select from 구조에서 select 옆에 distinct 를 추가해줍니다
코드의미 : sql_ssostory_1 테이블 category 컬럼 중, 중복없는 고유값을 읽어라
select distinct category
from sql_ssostory_1
결과는?
15개 카테고리로 이루어져 있는 데이터였네요.
중복없이(고유값) 보고싶은 칼럼을 select 절에 여러개 입력하면, 여러개의 칼럼들이 고유값으로 출력됩니다
5. 특정 데이터 탐색
5-1. 전체 데이터에서 프랜차이즈 '가맹점'인 변수만 추출해볼까요?
(참고. 앞의 csv파일에는 프랜차이즈 컬럼명이 fanchise로 되어있어요. 유의해주세요;;..)
where 조건절을 추가해주시면 됩니다
where fancise = '가맹점'
* 숫자는 그냥 입력해도 되지만, 문자는 ' ' 작은따옴표로 감싸서 입력해야 제대로 실행됩니다
코드의미 : sql_ssostory_1 테이블의 모든 컬럼 중, fachise 컬럼에서 값이 '가맹점'인것들만 추출해라
select *
from sql_ssostory_1
where fanchise ='가맹점'
프랜차이즈-가맹점인 값들만 추출이 되었습니다
5-2. 점포수가 2만개 이상인 것들만 보고싶다면?
where store_num >= 20000 쿼리를 입력합니다
코드의미 : sql_ssostory_1 테이블의 모든 컬럼 중, store_num 컬럼에서 값이 20000 이상인것들만 추출해라
select *
from sql_ssostory_1
where store_num >= 20000
5-3. 점포수가 2만개 ~ 3만개까지만 보고싶다
where store_num between 10000 and 20000
코드의미 : sql_ssostory_1 테이블의 모든 컬럼 중, store_num 컬럼에서 값이 10000이상 20000이하 인것들만 추출해라
select *
from sql_ssostory_1
where store_num between 10000 and 20000
가맹점 수가 10000개에서 20000개까지 데이터가 추출이 되었습니다
* 나중에 자료형 포스팅때 자세히할텐데, 우선 참고로~
where절의 between 구문은 연속형 숫자데이터와 이산형 데이터 모두 사용할 수 있습니다
5-4. 점포가 '가맹점이 아닌것'들만 보고싶다. (소상공인 아쟈쟈!)
Where fanchise != '가맹점'
'!='와 '<>'는 '같지 않다'라는 똑같은 의미를 가지고 있어요
코드의미 : sql_ssostory_1 테이블의 모든 컬럼 중, fachise 컬럼에서 값이 '가맹점'이 아닌것들만 추출해라
select *
from sql_ssostory_1
where fanchise != '가맹점'
--where fanchise <> '가맹점'
점포가 가맹점이 아닌것들만 추출이 되었습니다
* where은 boolean입니다. =뭐다, 아니다, 크다 ~~~ 조건이 꼭 있어야합니다!
SQL쿼리는 보시다시피 굉장히 직관적입니다
크게 어렵게 생각하실 필요가 없어요
간단히 몇개만 알아두면 그 다음부터는 배우지 않은 코드도 대략 해석이 가능합니다
* 앞서 개인 파일로 하시는분들께서는 csv를 저장할 때 UTF-8로 입력해주시면 한글이 잘 매핑되니 참고해주세요
데이터 분석 실무 초고속 정복하기!
더 좋은 꿀팁들을 알고 계시면 공유해주세요!^^
'IT_SQL' 카테고리의 다른 글
[분석 기초] SQL 쿼리 조건절, 그룹화로 특정 데이터 추출하기 (조건절 having vs where 차이!) (0) | 2021.10.20 |
---|---|
[분석 기초] SQL 쿼리로 특정 데이터 탐색, 총합, 평균, 최소/최대값 구하기 (집계함수 group by!) (0) | 2021.10.17 |
[분석 기초] SQL 프로그램 데이터 업로드. 내 파일로 SQL 업로드 하기 (0) | 2021.10.16 |
[분석 준비] SQL 시작하기. SQL설치, SQL 실행 프로그램 설치하기 (0) | 2021.10.16 |
[분석 준비] SQL 시작하기. 실무에서 가장 많이 쓰는 데이터 분석 툴은? (0) | 2021.10.15 |