반응형

SQL 28

[유데미 스타터스 취업 부트캠프 4기] 데이터분석/시각화(태블로) - 12주차 학습 일지

스타터스 교육에 대한 회고 벌써 12주차가 지나고 스타터스 교육이 끝이 났다! 길면 길고 짧으면 짧은 3개월이 생각보다 빠르게 흘러갔다. 3개월동안 많은 것들을 배울 수 있었으며 좋은 사람들과 좋은 시간을 보낼 수 있었다. 매우 알찼던 3개월이었다. 이렇게까지 내가 열심히 살았던 적이 있을까 싶을 정도로 열심히 공부했고, 그로 인해 여러 방면으로 많이 성장하였다. (긴 글 주의.. 학습일지보다는 과거회상...⭐) 하나의 터닝 포인트, 스타터스 합격 사실, 스타터스에 합격하게 된 것만으로도 정말로 큰 행운이자 기회였다. 스타터스 4기 데이터 분석의 경쟁률은 49:1이었다. 580명의 지원자 중 15명이 합격을 하였으며, 그 중에 내가 있었다. 매번 데이터 분석가에 지원하게 될 때마다 불합격을 해서 자신감이..

[유데미 스타터스 취업 부트캠프 4기] 데이터분석/시각화(태블로) - 11주차 학습 일지

11주차 교육에 대한 회고 (4L) 이번 주는 생각보다 너무 많이 힘들었다... 미니 프로젝트부터 최종 평가까지... 프로젝트와 최종 평가 공부를 한 번에 하다보니까 꽤나 힘들었다ㅠㅠ 최대한 둘 다 열심히 하려고 노력했는데, 좋은 결과가 있으면 좋겠다! 벌써 다음 주가 이 교육의 마지막이다... 그리고 대망의 해커톤이 진행된다! 이 날이 올 줄은 몰랐는데, 벌써 올 줄이야.. 긴장되기도 하며 후련할 것 같기도 하며 아무 생각도 없기도 하다!😵 해커톤에서 어느 누구와 같은 조가 되어도 우리 모두가 좋은 결과를 낼 것 같아서 이런 부분은 전혀 부담이 되지 않아서 좋다. 모두가 다들 열심히 하고 잘하기에 순위는 큰 의미가 없지 않을까 싶다!!! 그렇기에 내가 해커톤에서 3개월동안 쌓아온 역량을 얼마나 잘 발휘..

[유데미 스타터스 취업 부트캠프 4기] SQL 최종평가 공부 (쿼리)

1. 월 별 매출액 분석 1.1 월 별 매출액, 주문건수, 구매자수 추출 SELECT to_char(o.order_date, 'YYYY-MM') AS order_month , sum(od.unit_price * od.quantity * (1-od.discount)) AS sales , count(DISTINCT o.order_id) AS 주문건수 , count(DISTINCT c.customer_id) AS 구매자수 FROM orders o INNER JOIN order_details od ON o.order_id = od.order_id INNER JOIN customers c ON o.customer_id = c.customer_id GROUP BY 1 ORDER BY 1; 1.2 월 별 인당 평균 ..

[유데미 스타터스 취업 부트캠프 4기] 데이터분석/시각화(태블로) - 10주차 학습 일지

10주차 교육에 대한 회고 (4L) 이번 주부터 SQL 오프라인 강의가 진행되었다. 길다면 길고 짧다면 짧은 한 달간의 태블로 강의가 끝나고 SQL 강의가 시작되어서 나름 기대가 되었다. SQL을 예전에 공부한 적이 있어서 태블로보다는 낫지 않을까라는 생각을 했지만, 잘못된 판단이었다. 너무나 오랜만에 쿼리를 짜서 그런가 기본도 틀려버리고 머릿속이 하얘지기도 하였다... 또한 태블로 강의를 한 달동안 수강하면서 꽤나 지쳤는지, SQL 강의가 엄청 강도가 높은 것이 아님에도 우리는 많이 힘들어했다. 거기에다 계속 팀 프로젝트가 진행되다보니 진도 따라가랴, 프로젝트 하랴 한 주가 너무나 정신없이 지나갔다! (체력을 더 길러야 하나...) 태블로도 중요하지만 SQL 역량이 정말 중요하다고 강조를 하셔서 더욱 ..

[혼공SQL] 7-2 스토어드 함수와 커서

본 포스팅은 '한빛출판네트워크'의 '혼공SQL' 책을 기반으로 작성한 포스팅입니다. 1. 스토어드 함수 스토어드 프로시저와 비슷하지만 사용방법과 용도가 조금 다르다. 1.1 스토어드 함수의 개념과 형식 MySQL에서 제공하는 내장 함수 외에 직접 함수를 만드는 기능을 제공 DELIMITER $$ CREATE FUNCTION 스토어드_함수_이름(매개변수) RETURNS 반환형식 BEGIN 이 부분에 프로그래밍 코딩 RETURN 반환값; END $$ DELIMITER ; SELECT 스토어드_함수_이름(); RETURNS 문으로 반환할 값의 데이터 형식을 지정하고, 본문 안에서 RETURN 문으로 하나의 값을 반환해야 함 스토어드 함수의 매개변수는 모두 입력 매개변수 이며 IN을 붙이지 않음 SELECT 문..

[혼공SQL] 7-1 스토어드 프로시저 사용 방법

본 포스팅은 '한빛출판네트워크'의 '혼공SQL' 책을 기반으로 작성한 포스팅입니다. ✏️ 스토어드 프로시저(stored procedure) : SQL에 프로그래밍 기능을 추가해서 일반 프로그래밍 언어와 비슷한 효과를 냄 1. 스토어드 프로시저 기본 1.1 스토어드 프로시저의 개념과 형식 MySQL에서 제공하는 프로그래밍 기능으로 내부에서 사용할 때 적절한 프로그래밍 기능을 제공 데이터베이스의 개체 중 한 가지로 테이블처럼 각 데이터베이스 내부에 저장 쿼리 문의 집합 / 어떠한 동작을 일괄 처리하기 위한 용도로 사용 → 자주 사용하는 일반적인 쿼리를 반복하는 것보다 스토어드 프로시저로 묶어 놓고 필요할 때 호출하면 편리함 📌 스토어드 프로시저 만드는 형식 DELIMITER $$ -- 구분자 / 스토어드 프..

[MySQL 코딩테스트 연습] 2. JOIN (4) 보호소에서 중성화한 동물

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조..

[MySQL 코딩테스트 연습] 2. JOIN (3) 오랜 기간 보호한 동물(1)

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조..

[혼공SQL] 6-3 인덱스의 실제 사용

본 포스팅은 '한빛출판네트워크'의 '혼공SQL' 책을 기반으로 작성한 포스팅입니다. 인덱스 생성 : CREATE INDEX 인덱스 제거 : DROP INDEX 1. 인덱스 생성 문법 테이블을 생성할 때 특정 열을 기본 키, 고유 키로 설정하면 인덱스가 자동 생성됨 Primary Key 문법 사용 : 클러스터형 인덱스 생성 Unique 문법 사용 : 보조 인덱스 생성 그 외 직접 보조 인덱스를 생성하려면 CREATE INDEX문을 사용해야 함 (CREATE INDEX 로 생성되는 인덱스는 보조인덱스임) CREATE [UNIQUE] INDEX 인덱스_이름 ON 테이블_이름 (열_이름) [ASC | DESC] UNIQUE는 중복이 안 되는 고유 인덱스를 만듦 (생략하면 중복 허용) CREATE UNIQUE로 ..

[혼공SQL] 6-2 인덱스의 내부 작동

본 포스팅은 '한빛출판네트워크'의 '혼공SQL' 책을 기반으로 작성한 포스팅입니다. 1. 인덱스의 내부 작동 원리 1.1 균형 트리 노드 (node) : 데이터가 저장되는 공간 루트 노드 (root node) : 상위노드로 모든 출발의 시작 리프 노드 (leaf node) : 마지막 노드 중간 노드 (internal node) : 루트노드와 리프 노드 사이의 노드 MySQL에서는 노드를 페이지(page) 라고 부름 최소한의 저장 단위 16KByte(16384byte) 크기를 가짐 ex. 데이터를 1건만 입력해도 1개 페이지가 필요함 💡 데이터를 균형 트리로 구성 vs 구성하지 x 데이터를 균형 트리로 구성하지 않는다면? 전체 테이블 검색(Full Table Scan)을 해야 함 균형트리로 구성되어있다면?..

반응형