4주차: SQL+파이썬
(SQL 기본 이론도 저번주에 거의 다 했고, 파이썬 부분은 진짜 다 아는 거라.. 대부분 생략. 다른 주들에 비해 분량이 적습니다.)
CROSS JOIN: 각 테이블 간 조합할 수 있는 모든 경우를 출력하는 방식
- SELECT 컬럼명 FROM 테이블A CROSS JOIN 테이블 B;
- 결과 데이터가 매우 뻥튀기 될 수 있으니 주의하기: 조합 가능한 모든 경우의 수가 나옴:: WHERE절에 INNER JOIN의 ON처럼 컬럼을 설정해주면 (WHERE c.CustomerID = o.CustomerID같은 식) 이너조인처럼 교집합으로 사용 가능
SELF JOIN: 자기 자신과 JOIN하는 방식
- SELECT 컬럼명 FROM 테이블 alias1 테이블 alias2 WHERE 컬럼명;
- 한 테이블 내에서 계층구조를 이루는 데이터가 존재하는 경우, 상위~하위 데이터가 하나의 테이블에 있고 이를 같이 보여주고 싶은 경우 사용
서브쿼리: 하나의 쿼리 안에 존재하는 또 다른 쿼리.
- SELECT절: 스칼라Scalar 서브쿼리:: 주로 SELECT절에 위치하긴 하나 컬럼이 올 수 있는 대부분의 위치에 사용 가능. 하나의 값만 리턴해야 함(두 컬럼을 가져오려면 서브쿼리 두 개가 필요한 격)
- FROM절: 인라인 뷰Inline View
- 뷰: 특정 SELECT문에 이름을 붙여 재사용이 가능하도록 저장해놓은 오브젝트. 가상 테이블로 실제 데이터를 저장하지는 않음
- WHERE절, HAVING절: 중첩Nested 서브쿼리
- 비연관 서브쿼리: 메인 쿼리와 관계를 맺고있지 않음
- 연관 서브쿼리: 메인 쿼리와 관계를 맺고 있음
- EXISTS: 서브쿼리에 해당하는 데이터가 있는지 확인하는 구문. 하나 이상의 레코드가 존재하는 경우 TRUE
- SELECT 컬럼명 FROM 테이블명 WHERE EXISTS (확인할 것):: EXISTS문과 바깥을 연결하는 조건(ON) 필요
- SELECT 1: 특정 컬럼(값)의 유무만 확인하겠다는 뜻. 주로 EXISTS문 안에서 사용됨
UNION & UNION ALL: 세로로 붙이는 형태. Dtype과 갯수가 같아야 함
- JOIN은 가로로 붙이는 것이므로 상관 없음!
- UNION은 합집합, UNION ALL은 그대로 붙이는 형태(중복 데이터가 있을 경우 중복이 그대로 표현됨)
WITH ROLL UP: 그룹별 집계 반환
- SELECT 컬럼명 FROM 테이블명 WHERE 컬럼명 GROUP BY 컬럼명 WITH ROLL UP;
- 그룹바이와 같아보이나 맨 마지막 로우에 (그룹바이 단위의)총 합계가 있음. 데이터분석 시 유용.
PIVOT: 데이터의 행과 열을 90도 회전하는 것
- SELECT EXTRACT(꺼낼 것 FROM 날짜(컬럼)) alias1 FROM 테이블명 GROUP BY EXTRACT(꺼낼 것 FROM alias1)
윈도우 함수: 순위함수(RANK, DENSE_RANK, RANK_NUMBER)같은 것들. 어려운 개념이라 추후 공부 필요
DML: Data Manipulatio Language, 데이터를 입력하고 입력된 데이터를 수정 / 삭제 / 조회하는 명령어
- INSERT, UPDATE, DELETE
- INSERT INTO 테이블명 VALUES (컬럼에 입력될 데이터 리스트);
- UPDATE 테이블명 SET 컬럼명 = 새 데이터 (WHERE 수정조건);
- DELETE FROM 테이블명 (WHERE 삭제조건);
TCL: Transaction Control Language, 트랜잭션을 제어하는 명령어
- COMMIT, ROLLBACK, SAVEPOINT
- DML 뒤 커밋 / 되돌리고 싶을 때 롤백하는 식으로 사용
DDL: Data Definition Language, 데이터를 정의하는 명령어
- CREATE, ALTER, DROP
- ALTER는 ADD, DROP, MODIFY COLUMN등으로 데이터를 변경할 수 있음
'STUDY' 카테고리의 다른 글
패스트캠퍼스 데이터분석 부트캠프 학습일지5 (0) | 2023.03.24 |
---|---|
취준로그 ver0.9 (1) | 2023.03.17 |
취준로그 ver0.8 (3) | 2023.03.10 |
패스트캠퍼스 데이터분석 부트캠프 학습일지3 (4) | 2023.03.10 |
취준로그 ver0.7 (1) | 2023.03.03 |