이제 데이터 분석가의 핵심 역량인 SQL을 배우기 시작했다.
DBMS란? : Database Management System의 약자로 데이터를 체계적으로 저장, 검색, 수정할 수 있게 해주는 소프트웨어 시스템을 의미한다.
사람들이 주로 사용하는건 관계형 DBMS -> 대표적으로 MySQL, DBeaver, Oracle등이 있다.
SQL은 DBMS를 조작하고 절의하기 위한 표준 언어이다.
구분 | 명령어 | 역할 |
데이터 정의 (DDL) | CREATE, DROP | 테이블 구조 정의 및 삭제 |
데이터 조작 (DML) | SELECT, INSERT, UPDATE, DELETE | 테이블 내 데이터 조회 및 변경 |
데이터제어 (DCL) | GRANT, REVOKE | 권한 부여 및 회수 |
트랜잭션 제어 (TCL) | COMMIT, ROLLBACK | 작업 저장/취소 등 제어 |
SELECT문을 이용한 데이터 조회
SELECT 열이름
FROM 테이블 이름;
1. 도시 이름 전체 조회
SELECT Name
FROM city;
2. 나라 전체 조회 (상위 10개만)
SELECT Name,Continent
FROM country
LIMIT 10;
3. DISTINCT로 중복 제거
SELECT DISTINCT Continent
FROM country;
WHERE 조건문으로 원하는 데이터 필터링
WHERE 절 기본 문법
SELECT *
FROM 테이블명
WHERE 조건;
1. 아시아 국가만 조회
SELECT Name
FROM country
WHERE Continent = 'Asia';
2. 인구가 1000만 이상인 도시
SELECT Name, Population
FROM city
WHERE Population >= 10000000;
3. 이름에 'new'가 들어가는 도시
SELECT Name
FROM city
WHERE Name LIKE '%New%';
4. GDP가 없는 국가 찾기 (NULL)
SELECT Name
FROM country
WHERE GNP IS NULL;
ORDER BY 를 활용한 정렬
ORDER BY 문법
SELECT 열
FROM 테이블
ORDER BY 열 [ASC|DESC];
1. 인구 기준 내림차순 정렬
SELECT Name, Population
FROM country
ORDER BY Population DESC;
2. 도시 이름 오름차순 정렬
SELECT Name
FROM city
ORDER BY Name ASC;
3. GNP 기준 상위 5개 국가
SELECT Name, GNP
FROM country
ORDER BY GNP DESC LIMIT 5;
이번 주엔 MySQL이랑 world 데이터셋으로 SQL 기초 문법 연습했다.
SELECT, WHERE, ORDER BY만으로도 생각보다 많은 걸 할 수 있어서 재밌었고,
분석가로서 데이터 뽑는 기본기를 익히는 느낌이었다.
다음주는 JOIN이랑 GROUP BY도 해보면서 더 실무 감각 키우고 싶다.