되게 하는 사람

일이 되게 하는 사람을 지향하며, 이것저것 되게 (많이) 하는 사람입니다.

sql 2

[SQL] - (NOT) IN과 (NOT) EXISTS 차이점

데이터리안 데이터분석가 단톡방에서 NOT IN을 쓰는 것보다 NOT EXISTS를 쓰는 것이 row가 많은 데이터에서 더 효율적이라는 이야기가 있어, 의식적으로 쿼리를 짤때 NOT IN 대신 NOT EXISTS를 사용하려고 하고 있다. 그런데 IN 과 EXISTS의 쿼리 작동방식이 달라 주의해야할 점이 있어 그 점에 대해 기록해보려고 한다. IN 구문 : 실제 데이터들의 모든 값을 비교하여 일치하는지 확인 EXISTS 구문 : 해당 ROW 가 존재하는지만 확인 >> 동작방법 1. 서브쿼리를 먼저 실행하여 출력되는 모든 row(요소) 가져옴 2. 메인쿼리에서 row 하나를 가져옴 3. 2번에서 가져온 row의 값이 1번에서 가져온 IN 이하 요소와 일치되는지를 체크하고, 하나라도 일치하면 해당 메인쿼리 r..

스터디 2023.01.06

[SQL 쿼리 오답노트] 미니 프로젝트 때 쿼리 실수 했던 부분들

보통 쿼리를 그냥 눈으로 배우기만 했을 때와 직접 타이핑을 해보면서 쿼리를 따라칠 때는 매우 다르다고 한다. 컴퓨터 언어를 배울 때 흔히 말하는 '백견이불여일타', '백문이불여일타'와 같은 이야기다. 그런데 이번에 직접 '문제 설정 - 데이터 수집 - 전처리 - 가공 - 분석(가설 검정)'의 한 사이클을 돌려보니, '코딩 테스트처럼 어느 정도 데이터와 힌트가 주어진 상황에서 쿼리를 짤 때'와 '프로젝트를 하면서 직접 수집한 데이터로 쿼리를 짤 때' 느낌이 매우 다르다는 것을 깨달았다. 그리고 프로젝트를 하면서 SQL뿐만 아니라 파이썬, 통계 등 많은 내용을 다뤄야하다보니, 마치 컴퓨터 메모리가 다 차서 버벅대면서 돌아가듯이 뇌가 생각을 빠릿빠릿하게 못해서 기본적인 SQL 쿼리 오류도 내곤 했는데 (남의 ..

회고, 피드백 2022.09.18