일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 개념정리
- Django
- airflow
- Amazon
- CS
- 웹크롤링
- 데이터베이스
- 자료구조
- 데이터엔지니어
- Service
- SQL
- 운영체제
- 부트캠프
- 기술면접
- 개발
- AWS
- 관계형데이터베이스
- 파이썬
- 데이터엔지니어링
- 취준
- 에어플로우
- 웹자동화
- DataWarehouse
- 알고리즘
- 웹스크래핑
- 데이터웨어하우스
- 클라우드
- 데브코스
- WEB
- 프로그래머스
- Today
- Total
목록개발/SQL (6)
사진과 음악을 좋아하는 개발자 지망생의 블로그
1. 트랜잭션 1) 트랜잭션 - 전부 실행되거나 전부 실행되지 않아야하는(원자성: Atomicity) SQL들을 묶어서 하나의 작업처럼 처리하는 방법 DDL이나 DML 중 레코드를 수정/추가/삭제하는 것에만 의미가 있음 SELECT는 데이터를 조회하는 명령어로써, 데이터를 변경하지 않기 때문에 트랜잭션을 사용할 이유가 없음 BEGIN과 END 혹은 BEGIN과 COMMIT 사이에 해당 SQL들을 사용 만일 BEGIN 전의 상태로 돌아가고 싶거나, ERROR 발생 시 ROLLBACK(실행전으로 돌아감) 실행 → commit mode에 따라 따름 2) 트랜잭션 커밋 모드: autocommit ① autocommit = True - 모든 레코드 수정/삭제/추가 작업이 명시적으로 COMMIT 호출하지 않아도, ..
1. JOIN - 두 개 이상의 테이블들을 결합하기 위해 사용하는 구문 - 공통 필드를 기준으로 두 테이블을 연결하여 하나의 테이블로 만듬 ① INNER JOIN 두 테이블에서 공통된 값을 가진 행만을 반환 - 두 테이블에서 공통된 값을 가진 행만을 반환 ② LEFT JOIN (또는 LEFT OUTER JOIN) - 왼쪽 테이블의 모든 행과, 오른쪽 테이블에서 왼쪽 테이블과 공통된 값이 있는 행을 반환 ③ RIGHT JOIN (또는 RIGHT OUTER JOIN) - 오른쪽 테이블의 모든 행과, 왼쪽 테이블에서 오른쪽 테이블과 공통된 값이 있는 행을 반환 ④ FULL JOIN(FULL OUTER JOIN) - 두 테이블의 모든 행을 반환 - 공통된 값이 없는 경우 NULL로 반환 ⑤ CROSS JOIN(..
1. GROUP BY & Aggregate 함수 - 테이블의 레코드를 그룹핑하여 그룹별로 다양한 정보를 계산 - 그룹핑은 두 단계로 이뤄짐 ① 먼저 그룹핑을 할 필드를 결정(하나 이상의 필드가 될 수 있음) - GROUP BY로 지정(필드 이름을 사용하거나 필드 일련번호 사용) ② 그룹별로 계산할 내용을 결정 - 여기서 Aggregate 함수를 사용 - COUNT, SUM, AVG, MIN, MAX, LISTAGG, .....(필드 이름을 지정하는 것이 일반적) SELECT customer_id, SUM(price * quantity) as total_sales--customer_id별로 주문한 총 가격 계산하기 GROUP BY customer_id; 2. CTAS - SELECT를 가지고 테이블 생성 ..
SQL in Redshift - Redshift에서의 SQL은 다르 SQL과 다르지 않다 - 특히, Posgresql과는 거의 대동소이할 만큼 유사하다 1. SQL 기본 - 다수의 SQL문을 실행한다면 세미콜론으로 분리 필요 (SQL문1;SQL문2;SQL문3;) - 주석처리 ① --: 한주짜리 주석(C, Java에서 //와 같다) ② /* -- */: 여러 줄에 걸쳐 사용 가능한 주석 - SQL 키워드는 대문자를 사용한다던지 하는 나름대로의 포맷팅이 필요하며 특히, 팀 프로젝트라면 팀에서 사용하는 공통 포맷이 필요하다 - 테이블/필드이름의 명명규칭을 정하는 것이 중요하다 ① 단수형 vs 복수형: User vs Users ② _ vs CamelCaing: user_session_channel vs User..
데이터 웨어하우스 1. 데이터 웨어하우스(Data Warehouse) - 회사에 필요한 모든 데이터를 저장 - 여전히 sql 기반의 관계형 데이터베이스임 프로덕션 데이터베이스와는 별도이어야 함(비록, 프로덕션 데이터를 복사해와야 하지만...) AWS의 Redshift(고정비용), Google Cloud의 Big Query, Snowflake 등(가변비용)이 대표적 - 데이터 웨어하우스는 고객이 아닌 내부 직원을 위한 데이터베이스이다 따라서, 처리속도가 아닌, 데이터 크기와 관계없이 원하는 분석을 수행할 수 있는 것이 더 중요하다 - ETL 혹은 데이터 파이프라인 외부에 존재하는 데이터를 읽어다가 데이터 웨어하우스로 저장해주는 것을 ETL작업이 필요해짐 보통 데이터 웨어하우스 + ETL(데이터 파이프라인)..
데이터 직군 3대장 1. 데이터 분석가 - 데이터 분석가는 SQL을 사용하여 데이터를 추출하고 조작하는 작업을 수행 - 이를 통해 데이터를 이해하고, 비즈니스 도메인에 대한 지식을 바탕으로 의사 결정에 도움을 주는 분석 결과를 도출 - 또한 통계적인 방법을 활용하여 AB 테스트 분석을 수행하는 등, 데이터 분석에 필요한 전문적인 지식과 기술을 보유해야 함 2. 데이터 과학자 - 대용량 데이터를 처리하고 변환하는 데 SQL을 사용 - 머신러닝과 같은 고급 분석 기술을 활용하여 데이터를 분석하고 문제를 해결하는데 필요한 능력을 가지고 있어야함 - 이를 위해서는 파이썬과 SQL같은 프로그래밍 언어와 함께 통계적인 방법론을 이해하고 활용할 수 있어야 함 3. 데이터 엔지니어 - 데이터 파이프라인과 데이터 웨어하..