본문 바로가기

빡공단34

빡공단 후기 '베어유'에서 운영하는 '빡공단'은 49.000원을 내고 원하는 강의를 하나 들으며 1달 동안 빡공단 활동을 하는 것이다. 빡공단 활동은 출석체크, 본인의 공부기록을 자유롭게 기록하기, 같은 기수 사람들과 소통하기 등등이 있다. 주차별 미션도 있고, 각 미션마다 인기멤버는 상품도 준다.(나는 2, 3, 4주차 인기멤버였다 ㅎㅎ) 회사 업무와 직접적으로 관련이 있는 SQL 입문 강의를 선택해서들었다. 강의는 하루 10분씩 들을 수 있도록 구성되어 있어서 크게 부담스러울건 없다. (하지만 10분의 강의 내용을 깔끔하게 정리하려면 1시간이 더 걸리기도 했다. 하다보니 욕심이 나서 더 열심히 하게된다는..) 필수적인 내용과 실습으로 구성되어있어서 입문 강의로 정말 좋있다. 이렇게 열심히 한 결과.... 무려 '.. 2023. 1. 10.
빡공단 22기 도전기 - 마지막 실습 (30일차) 진짜! 마지막 실습 마지막 실습 : 우리집 주변은 안전할까?! 1. 데이터 불러오기 원래 사용하던 cctv, 비상벨 설치 현황 데이터를 사용할건데, 추가로 범죄발생건수, 인구정보 데이터를 삽입한다. 2. 데이터 결합 및 순위확인 인구정보 테이블을 기준으로, 지역 컬럼을 key로 사용하여 테이블 결합한다. 자치구 기준으로 각 주요 컬럼의 수를 확인한다. 건수를 기준으로 순위를 매겨본다. 3. 세대 대비 범죄발생 건수 비율 이런식으로 목적에 따라 데이터를 가공해서 확인할 수 있다. 30일차 인증! 진짜 끝! 2023. 1. 9.
빡공단 22기 도전기 - 4주차 미션 안녕하세요:) 드디어 빡공단 22기 종강이 다가왔네요! 한 달동안 정말 너무 빡빡한 일정 속에 살아왔던거 같아요. 덕분에 육체는 지쳤지만 마음은 뿌듯함으로 가득해요. 다음달에 무너지지 않도록 일정을 잘 관리하는게 중요하다는 생각이 들었습니다. 빡공단 시작 전에 마음이 무기력해진 시기여서 어떻게 해야될지 몰랐는데, 하루하루 따라가다보니 위험한 시기인이 5월을 잘 넘긴것 같아요. 역시 사람의 마음을 바로 잡는것은 교육뿐인거 같다는 생각이 들었네요. Python을 배우면서 SQL이 필요함을 알게되어서 22기에 수강을 하게 되었는데요. 오늘은 SQL 활용을 어떻게 했는지 보여드리겠습니다:) 꼬박 하루가 걸렸어요😥😱😂 정말 데이터 분석하는 가운데 SQL은 가장 기본이예요. 원하는 형태로 빅데이터를 불러오기 위해서.. 2023. 1. 8.
빡공단 22기 도전기 - SQL, Jupyter Notebook을 활용한 데이터 분석 및 시각화 SQL - Jupyter Notebook을 활용한 데이터 분석 그동안 배운 SQL을 jupyter notebook과 연결하여 여러가지 해보려고 한다. 나는 '컴퓨터공학'을 전공한 전공자도 아니고, 구글 열심히 찾아가면서 실행이 가능하게끔 만드는 것이 목표이다. 혹시나 전문적인 지식을 원하는 사람이 링크를 잘못 타고 이곳으로 왔다면,,, 확실한 전문 지식은 다른곳에서 구하길 바란다. 1. 패키지 설치 먼저 패키지 설치부터 해보자.(Anaconda, jupyter notebook, VScode는 설치되어있어야 한다.) // Anaconda Prompt에서 패키지를 설치한다. pip install cx_Oracle pip install ipython-sql 2. VScode에 Oracle 연결 // sql을 .. 2023. 1. 7.
빡공단 22기 도전기 - SQL 속도와 성능을 고려한 코드작성 (29일차) 속도와 성능을 고려한 코드 실행 순서와 컴퓨터 성능을 고려하여, 서브쿼리는 FROM()절에서만 사용하는게 좋다. 대용량 데이터일 수록 크게 차이가 난다. JOIN()과 서브쿼리는 비슷한 역할을 하지만, 성능면에서 차이가 있다. 1. WHERE()절 조건 vs FROM()절 서브쿼리 WHERE()절에서 비교대상 컬럼을 수정하는 것을 '좌변가공'이라고 한다. 좌변가공을 하지 않고 작성하는 것이 성능면에서 더 우수하다. 보기에는 왼쪽이 깔끔해 보이지만, 실제 작동은 오른쪽이 더 빠르다. 2. IN() vs EXISTS() vs INNER JOIN() IN()을 사용하는 것이 가장 직관적이고 편한 방법이다. 하지만 IN() 방식은 테이블의 모든 컬럼을 직접 비교하기 때문에 대용량데이터에서는 크게 느려진다. nu.. 2022. 12. 7.
빡공단 22기 도전기 - SQL WHERE 서브쿼리 (28일차) WHERE - 서브쿼리 1. WHERE() 절 서브쿼리 : 단일 행 서브쿼리 특정 조건으로 필터링 할 때 WHERE()를 사용하는데, 이때 값이 아닌 서브쿼리를 활용해서 필터링이 가능하다. WHERE() 절에 비교연산 서브쿼리가 들어간 경우이고, 서브쿼리 조회 결과 값의 갯수가 1개일 때 '단일 행 서브쿼리'라고 한다. 2. WHERE() 절 서브쿼리 : 다중 행 서브쿼리 서브쿼리의 조회 결과 값의 행이 여러개인 서브쿼리이다. WHERE()를 두번 사용하여, job_id가 'SA_REP'인 사람들의 급여와 동일한 사람들을 추출한다. IN은 특정 값을 포함하고 있는 행을 반환한다. 3. EXISTS 양쪽 테이블에서 존재하는 값을 어느 한쪽 테이블에서 확인 가능하다. EXISTS는 검색 결과에 최소한 하나 .. 2022. 12. 7.
빡공단 22기 도전기 - SQL FROM 서브쿼리 (27일차) FROM - 서브쿼리 1. RANK() / DENSE_RANK() 함수 FROM()절 서브쿼리를 하기 전, RANK() 함수부터 알아보자. 급여를 기준으로 순위를 매기려고 한다. 처음에 RANK()를 작성하고, window 함수인 OVER()를 써서 정렬할 수 있다. 특정 그룹을 기준으로 순위를 매기려면 PARTITION BY(), GROUP BY처럼 특정 기준에 대한 컬럼을 쓰면 된다. 그렇지 않을 경우는 ORDER BY()를 사용해서 컬럼명 기준으로 순위를 매긴다. RANK()는 순위가 중복 될 경우 다음 순위가 중복 수만큼 건너뛴 순위로 나온다. DENSE_RANK()는 중복 순위는 고려하지 않고 순서대로 출력된다. 2. FROM() 절 서브쿼리 순위가 2인 값만 출력하기 위해 WHERE()절을 이.. 2022. 12. 7.
빡공단 22기 도전기 - SQL SELECT 서브쿼리 (26일차) SELECT - 서브쿼리 1. 서브쿼리 SELECT(), FROM() 절을 하나의 쿼리로 생각하면, 쿼리 안에 쿼리를 작성하는 방법으로 활용 가능하다. 2. SELECT() 절 서브쿼리 전체급여를 하나의 컬럼으로 만들어서 표시해주고 싶다면? SELECT() 절 안에 SELECT() 절을 작성하면 가능하다. 이렇게 하면 원본테이블을 수정하지 않고 원하는 결과를 출력할 수 있다. SELECT() 절의 서브쿼리는 'scala 서브쿼리'라고 부르기도 한다. 출력되는 행 수만큼 반복되어 실행된다. 데이터를 반복해서 출력하기 때문에, 성능의 효율성을 위해 데이터를 메모리에 올려놓고 반복해서 출력하게되고 이를 '메모리캐싱'이라고 한다. 3. SELECT() 절 서브쿼리 확장 테이블을 JOIN() 한 것처럼 사용가능하.. 2022. 12. 7.
빡공단 22기 도전기 - SQL 실전 데이터 분석 (25일차) 실전 데이터 분석 1. 테이블생성 21일차 실습때 작성했던 코드를 가져온다. CREATE TABEL()을 이용하여 테이블을 생성할 수 있다. 위와 같이 작성후 실행하면, 테이블이 생성된다. 동일한 방법으로 '비상벨설치현황' 테이블도 만들어준다. 2. 지역별 설치현황 2-1. 테이블 합치기 지역을 기준으로 테이블을 합친다. 테이블명을 A, B로 하여 쉽게 작성할 수 있다. 2-2. 지역별 설치비율 2-3. 구간별 평균 카메라 설치 수 설치 구분에 대한 조건을 작성한다. 설치구분 조건을 기준으로 확인하고자 하는 값들을 계산 및 색인한다. 2-4. 전체설치건수 중 카메라설치 비율 25일차 인증! 2022. 12. 7.
빡공단 22기 도전기 - SQL 기타 JOIN (24일차) 기타 JOIN() 1. NATURAL JOIN() SELECT * FROM 테이블명1 NATURAL JOIN 테이블명2 ; -- 동일한 표현 SELECT * FROM 테이블명1 INNER JOIN 테이블명2 ON 테이블명1.키 컬럼1 = 테이블명2.키 컬럼2 AND 테이블명1.키 컬럼1 = 테이블명2.키 컬럼2 ; JOIN 조건을 주지 않고 EQUI-JOIN하는 방법 각 테이블에 공통으로 존재하는 컬럼이 '복합 키'로 사용된다. 따라서, 기존에 '키'로 사용되는 컬럼이 '_1'로 하나가 더 추가되었던 것과 달리, '키'당 컬럼 하나가 출력된다. 2. CROSS JOIN() SELECT * FROM 테이블명1 CROSS JOIN 테이블명2 ; -- 동일한 표현 SELECT COUNT(*) FROM 테이블명.. 2022. 12. 7.
반응형