빅데이터의 시대다. 일상생활에서 개개인의 데이터를 가지고 일어나는 일들은 참 무한하다는 것을 느끼는 요즘이다. 프로덕트 매니저에게 데이터 기반으로 인사이트를 도출해내야 하는 역량 역시 필수가 되었다.
SQL을 빠르게 배워보고자 「칼퇴족 김대리는 알고 나만 모르는 SQL 기초편」(김지훈 지음, 책밥)을 활용해보고자 한다.
SQL(Structured Query Langauge)은 데이터를 분석해서 활용하려는 사용자와 데이터가 저장되어 있는 데이터베이스 시스템 사이에 의사소통을 위한 언어다.
SQL 문법은 영어 어순과 비슷하여 하나의 영어 문장을 만든다고 생각하고 접근하면 쉽다. 일단 이게 기본이다.
SELECT 열 이름 FROM 테이블명 ORDER BY 열 이름;
이 기본 문장을 바탕으로 데이터 가져오기, 데이터 정렬하기를 단계별로 해보겠다. 참고로 SQL 문장은 ;(세미콜론)으로 문장을 종결한다.
데이터 가져오기 SELECT 열 이름 FROM 테이블명;
"특정 테이블로부터 보고 싶은 특정 열(들)을 선택해서 출력할 것"
1. 지정한 열 가져오기
(지정한 열이 한 개일 경우)
SELECT 열 이름(출력하고 싶은 열 이름) FROM 테이블명(참조를 원하는 테이블);
(지정한 열이 두 개일 경우)
SELECT 열 이름1, 열 이름2, 열 이름3 FROM 테이블명;
2. 모든 열 가져오기
(모든 열 이름을 적는 경우)
SELECT 열 이름1, 열 이름2, 열 이름3, 열 이름4, 열 이름5 FROM 테이블명;
(문자 *를 사용하기) SELECT * FROM 테이블명;
(참고) SQL 문장에서 *는 모든 열을 의미함. 열 이름을 다 나열하는 대신 *를 표기하면 간단하게 테이블의 모든 내용을 검색 가능!
데이터 정렬하기 SELECT 열 이름 FROM 테이블명 ORDER BY 열 이름;
"특정 테이블로부터 특정 열에 의해 정렬된 열들을 선택해서 나열할 것"
1. 한 가지 열로 데이터 정렬하기
(ORDER BY 열 이름 사용)
SELECT 열 이름1, 열 이름2(출력하고 싶은 열 이름) FROM 테이블명(참조를 원하는 테이블) ORDER BY 열 이름1(정렬하고 싶은 열);
(ORDER BY 열 위치 사용)
SELECT 열 이름1, 열 이름2 FROM 테이블명 ORDER BY 열 위치1(정렬하고 싶은 열 위치);
2. 여러가지 열로 데이터 정렬하기
(열 이름 사용)
SELECT 열 이름1, 열 이름2, 열 이름3 FROM 테이블명 ORDER BY 열 이름1, 열 이름2(우선순위로 정렬하고 싶은 열들);
(열 위치 사용)
SELECT 열 이름1, 열 이름2, 열 이름3 FROM 테이블명 ORDER BY 1, 2(정렬하고 싶은 열 위치);
3. 오름차순으로 데이터 정렬하기
(ASC 사용하기)
SELECT 열 이름1, 열 이름2 FROM 테이블명 ORDER BY 열 이름1 ASC, 열 이름2 ASC(우선순위/오름차순 정렬하고 싶은 열들);
(정렬할 열 이름 혹은 열 위치만 적기)
SELECT 열 이름1, 열 이름2 FROM 테이블명 ORDER BY 열 이름1, 열 이름2(우선순위/오름차순 정렬하고 싶은 열들);
SELECT 열 이름1, 열 이름2 FROM 테이블명 ORDER BY 1, 2(우선순위/오름차순 정렬하고 싶은 열들);
(참고) 오름차순 정렬은 열 이름 뒤에 ASC를 적거나, 아무것도 적지 않는 방법이 있다. SQL 기본값이 오름차순 정렬을 실행하기 때문에 아무것도 적지 않아도 오름차순으로 정렬된다!
3. 내림차순으로 데이터 정렬하기
(DESC 사용하기)
SELECT 열 이름1, 열 이름2 FROM 테이블명 ORDER BY 열 이름1 DESC, 열 이름2 DESC(우선순위/내림차순 정렬하고 싶은 열들);
DISTINCT로 중복을 제거하기
SELECT문을 출력할 때 중복을 제거하고 별칭을 주는 방법이다.
"특정 테이블로부터 중복 없이 값을 출력하라!"
SELECT DISTINCT 열 이름1, 열 이름2(중복없이 출력하고 싶은 하나의 집합) FROM 테이블명(참조를 원하는 테이블);
ALIAS 별칭을 주기
"특정 테이블로부터 새로운 열 이름으로 바꿔서 출력하라!"
1. AS 사용하기
SELECT 열 이름(바꾸고 싶은 열 이름) AS 새로운 열 이름 FROM 테이블명;
2. 인용부호 " " 사용하기
SELECT 열 이름(바꾸고 싶은 열 이름) "새로운 열 이름" FROM 테이블명;
관련 책을 보면 예제들이 많이 나와있는데, 생각보다 값이 하나씩 추가될수록 틀리는 문제가 많아졌다...! 연습이 많이 필요한 것 같다.
아직 초반부라 조건이 많지 않은데 뒤로 갈 수록 데이터 조건들과 함수값 등 배울게 많아보인다. 겁먹지 말고 할 수 있다! 끝.
'기록, 기록, 또 기록' 카테고리의 다른 글
[스터디] 도그냥의 역기획 특강을 듣고 (0) | 2022.11.10 |
---|---|
[책 리뷰] 권도균의 스타트업 경영수업 / 권도균 지음 (0) | 2022.11.10 |
[코드스테이츠 PMB 5기] #14.신선함을 배송하는 프레시코드, 페이지를 분석해보면 (0) | 2021.04.13 |
[코드스테이츠 PMB 5기] #12-. APP/앱/모바일 어플리케이션의 다양한 형태는 (0) | 2021.04.01 |
[코드스테이츠 PMB 5기] #12. 트렌비에는 트렌봇이 있어요 (0) | 2021.04.01 |