SQL for the Weary
-
목표 대상: 세포생물학 석사 학위를 가진 레이첼은 연구 병원에서 세포 분석 작업을 하며 데이터 과학자가 되고자 함.
-
필요한 사전 지식: 기본적인 Unix 명령어와 표 형식 데이터 분석 능력.
-
학습 결과: 데이터베이스와 데이터베이스 관리자의 차이점 설명, SQL 작성, 테이블 정의 및 데이터 조작, 조인 종류 설명, 인접 행 작업을 위한 윈도우 함수 사용, 트랜잭션과 트리거에 대한 이해, SQL을 사용한 JSON 데이터 조작, Python을 통한 데이터베이스 상호 작용.
설정
-
최신 릴리스 다운로드: SQLite 데이터베이스 예제, SQL 쿼리, Python 스크립트 등이 포함된 파일을 임시 디렉토리에 압축 해제.
배경 개념
-
데이터베이스: 검색 및 검색이 가능한 데이터 모음.
-
데이터베이스 관리 시스템(DBMS): 특정 종류의 데이터베이스를 관리하는 프로그램.
-
SQLite: 데이터베이스를 단일 파일로 저장, PostgreSQL은 더 높은 성능을 위해 여러 파일에 정보를 분산.
-
관계형 데이터베이스 관리 시스템(RDBMS): 데이터를 테이블에 저장하고 SQL을 사용하여 쿼리.
-
NoSQL 데이터베이스: 테이블을 사용하지 않는 MongoDB와 같은 데이터베이스도 존재.
데이터베이스 연결
-
데이터베이스 연결: 실제 쿼리가 아니지만 다른 작업을 수행하기 전에 필요한 단계.
관리 명령어
-
SQLite 관리 명령어: 표준 SQL의 일부가 아니며, PostgreSQL의 특수 명령어는
\
로 시작.
-
출력 형식:
.headers on
과 .mode markdown
을 사용하여 결과를 가독성 있게 출력.
테이블 조작
-
테이블 생성:
create table
명령어로 테이블과 열을 정의.
-
데이터 삽입:
insert into
명령어로 테이블에 데이터 추가.
-
행 업데이트:
update
명령어로 특정 조건을 만족하는 행의 데이터 변경.
-
행 삭제:
delete from
명령어로 특정 조건을 만족하는 행 제거.
조인
-
조인: 두 테이블의 정보를 결합하는 작업.
-
내부 조인:
inner join
을 사용하여 두 테이블의 일치하는 행만 결합.
-
왼쪽 조인:
left join
을 사용하여 왼쪽 테이블의 모든 행을 유지하고 오른쪽 테이블의 누락된 값은 null
로 채움.
집계 함수
-
집계: 여러 값을 하나로 결합하는 작업.
-
일반적인 집계 함수:
sum
, max
, min
, avg
등을 사용하여 데이터 집계.
-
그룹화:
group by
를 사용하여 특정 열의 고유한 조합에 따라 행을 그룹화하고 각 그룹에 대해 집계 수행.
GN⁺의 의견
- 이 글은 데이터베이스와 SQL에 대한 기본적인 이해를 돕기 위한 자료로, 초급 소프트웨어 엔지니어나 데이터 과학에 관심 있는 이들에게 유용함.
- 실제 예제와 함께 SQL의 다양한 기능을 설명하여, 데이터베이스 관리 및 조작에 대한 실질적인 지식을 제공함.
- 특히 데이터베이스 조인, 집계 함수, 테이블 조작 등은 데이터 분석과 관련된 작업에서 매우 중요하며, 이 글은 이러한 개념을 명확하게 이해하는 데 도움이 됨.