반응형 SQL18 [MYSQL] 개인적으로 헷갈린 부분들 정리집 MYSQL 수업을 들으면서 교재의 내용에서 더 좋은 코드라거나, 변경가능한 코드 부분에 대한 설명을 잘 해주셔서 얻어가는 부분이 많았다고 느꼈다. 수업을 들으면서 느낀게 내가 몸으로 하는 건 습득력이 빠른편인데 머리로 하는건 습득력이 정말 느린편이다. 그래서 오늘 MYSQL 수업이 마무리되면서, 어떤 부분들이 헷갈렸는지 몽땅 모아서 정리해보려 한다. 일단 내가 느끼기엔 SQL이 어려운 프로그래밍은 아닌것 같다. 맨 처음 파이썬 pandas 들어갈 땐 똑같이 처음보는 부분이어도 정말 멘붕오고 저건 뭐지 이러고 있었는데, SQL의 경우에는 코드 자체가 그렇게 많은게 아니라서 초보자가 배우기엔 좋은 것 같다. 그치만 파이썬처럼 어렵게 느껴지는 부분은 서브쿼리 활용이다. 지금의 내가 SQL을 이해하는 수준은 아.. 2023. 10. 12. [MYSQL] 임시 테이블 생성하기 오늘 오전 시간에 교재 수업 내용을 따라가다 임시 테이블을 생성하는 구문을 처음 봤다. 테이블을 생성하고 서브쿼리로 활용하거나, 수정하고 삭제하는 것은 해봤어도 임시 테이블은 생소했다. 그래서 임시 테이블을 만들어 사용하는 이유와 만드는 방법을 작성해보려 한다. 임시 테이블이란? 임시 테이블은 일반적으로 세션 내에서만 사용되고, 세션이 종료될 경우 자동으로 삭제된다. 주로 데이터를 보관하거나, 작업 중간 결과를 저장하는데에 유용하게 사용된다. 즉, 일시적인 데이터를 저장하거나, 복잡한 작업을 수행하기 위한 도구로 사용된다. 임시 테이블 만들기 임시 테이블을 만들 때는, CREATE TEMPORARY TABLE 구문을 사용한다. -- 임시 테이블 생성 CREATE TEMPORARY TABLE temp_em.. 2023. 10. 11. SQL 서브 쿼리 짚고가기! SQL 구문을 작성할 때 가장 중요한 부분이 서브쿼리를 활용하는 것 같다. 조건문에도 추가적인 부분으로 사용할 수 있고, 일부만을 긁어오기 위해서 쓰기도 하고 서브쿼리의 활용은 어마하다. 서브쿼리를 통해 복잡한 것도 실행할 수 있게 해주기 때문에 꼭! 알아야할 부분이다. 오늘은 이 서브쿼리에 대해 자세하게 알아보는 것을 중점으로 포스팅 해보려 한다. 서브 쿼리 종류 서브쿼리의 종류는 크게 두개로 나뉜다. 결과가 단일 스칼라 값을 반환하는 스칼라 서브쿼리와 서브쿼리의 결과가 한개 이상의 행이나 열을 반환하는 테이블 서브쿼리가 있다. 스칼라 서브쿼리는 주로 SELECT 문의 열 리스트에서 사용한다. 테이블 서브쿼리는 필터링 조건을 만족하는 ROW를 선택하기 위해 WHERE 절에서도 사용하고, 다른 테이블과 .. 2023. 10. 10. [MYSQL] 평점으로 상품 분류하기 - 실전 예제 이번 예제 역시 교재 SQL로 맛보는 데이터 전처리 분석(노수영 저) 를 참고했다. 목표는 Department 별로 평점이 낮은 주요 상품 10개를 조회하고, 해당 상품들의 리뷰를 볼 것이다. 예제를 다루는 만큼 서브쿼리 사용이 필수라는 것을 알고 바로 시작해보자. 1. 컬럼 명에 따른 평균 평점 계산하기 일단 제품마다 고객들이 부여한 평점들을 계산해보는 과정을 거쳐야 한다. -- mydata라는 데이터 베이스를 선택함. USE mydata; SELECT `department name` , `clothing id` , AVG(rating) AS AVG_RATE FROM dataset2 GROUP BY 1, 2 ; USE 구문은 여러개 데이터 베이스를 사용할 때, 작업하려는 데이터 베이스를 명시적으로 지정.. 2023. 10. 6. [MYSQL] DATEDIFF를 사용한 Churn Rate 구하기 오늘은 어제 했던 코드들을 기반으로 해서 예제 코드를 추가적으로 진행했다. 오전 수업에서 한 내용은 고객 중에 미 주문 고객으로 얼마나 전환이 된건지 확인하기 위한 지표를 만들어봤다. 이 부분들을 알기 위해서는 거쳐야 할 과정들이 있는데 그 과정대로 작성해보겠다. 오늘 활용한 예제들은 모두 교재 SQL로 맛보는 데이터 전처리 분석(노수영 저) 를 참고했다. 추가적으로 어제 주석으로 설명을 달아둔 내용에서 큰 틀이 바뀐 것이 없어 코드 흐름에 대한 설명만 작성하겠다. 1. 구매자의 구매일자 불러오기 먼저 최초 주문일자와 마지막 주문일자를 알아야 이 부분을 응용해서 미주문 일자들이 얼마나 되는지를 알 수 있다. 그리고 이 결과를 고객 번호에 따라 하나의 값으로 묶어준다. SELECT MAX(orderdate.. 2023. 10. 6. [MYSQL] 테이블 생성부터 삭제까지 알아보자 오전 수업에 배웠던 테이블을 직접 생성하고 내용을 채우는 것부터 수정하고 삭제하는 것 까지! 포스팅으로 남겨두려한다. 나같은 입문자들에게도 도움이 많이 될 거라고 생각하지만, 솔직히 내가 기억안날때마다 보려고 작성하는 이유가 더 크다. 지금부터 MYSQL을 이용한 테이블 활용과정을 알아보자. 1. 테이블 생성하기 테이블을 생성하기 위해서는 일단 내가 사용하고자 하는 스키마 즉, DB를 선택해야한다. 그리고 CREATE를 사용해서 테이블을 만들어줘야하는데, 나는 아래와 같이 했다. -- 사용할 스키마 USE mulcamp; -- 테이블 생성 -- tasks 테이블을 생성하되, 테이블이 이미 존재하면 생성하지 않음 CREATE TABLE IF NOT EXISTS tasks ( -- 데이터 타입, 자동으로 올.. 2023. 10. 5. [MYSQL] Error code : 1175 안전 업데이트 모드 해결하기 수업중에 delete 기능을 알려주시기에 따라하다가 에러코드 1175가 떴다. SQL을 이제 막 배우기 시작한 입문이라 에러코드를 읽어봐도 무슨 뜻인지를 모르겠더라.. 그래서 나와 같은 분들이 보고 당황하지 않았으면 하는 마음으로 작성한다! 먼저 오류가 났던 코드는 다음과 같다. DELETE FROM tasks WHERE title = 'Learn AWS'; 문법상으로 난 오류가 아니었기 때문에 이 DELETE 구문은 제대로 작성된 구문이다. 이 방법을 해결하기 위해 몇가지가 있는데 그중, 대부분의 문제와 쉽게 해결 가능한 방법을 알려주고자 한다. 오류코드 파헤치기 Error Code: 1175. You are using safe update mode and you tried to update a tab.. 2023. 10. 5. [MYSQL] SQL의 기본 문법 이것만 보고 마스터하자 길었던 꿀같은 추석연휴가 지났다. 추석연휴동안 공부는 생각도 안하고 놀았으니 이제 다시 일상으로 돌아와 수업을 듣기 시작했는데, 오늘부터 배우는 내용이 국비 수업으로는 마지막 수업에 해당하는 커리큘럼이 시작되었다. 그래서 오늘 배운 SQL에 대한 간단 문법을 작성해보려한다! 내가 참고하는 교재는 SQL로 맛보는 데이터 전처리 분석(노수영 저) 이다. 이 책은 간단하게 알려주는 기초에 대해 다루고 있어서, 기본정도 아시는분들이 많이 사용하는 것으로 알고 있다. https://product.kyobobook.co.kr/detail/S000001934242 SQL로 맛보는 데이터 전처리 분석 | 노수영 - 교보문고 SQL로 맛보는 데이터 전처리 분석 | product.kyobobook.co.kr 노베이스라거나.. 2023. 10. 4. Django에서 SQLite가 없는 에러 해결하기 장고를 활용한 to do list 만들기를 따라가던 중 sqlite를 찾지 못한다는 에러가 났다. 해결방법은 너무나도 간단하다. SQLite 공식 홈페이지에서 다운받아주고 파일을 넣어주면 끝! https://www.sqlite.org/download.html SQLite Download Page Templates (1) and (2) are used for source-code products. Template (1) is used for generic source-code products and templates (2) is used for source-code products that are generally only useful on unix-like platforms. Template (3) is.. 2023. 7. 26. 이전 1 2 다음 반응형