✳️ UNION / UNION ALL - 합집합- 수평 결합을 해주는 JOIN과 달리 위 아래로 데이터를 수직 결합을 해주는 기능- 컬럼의 수와 데이터 타입이 동일해야 수행 가능 - UNION ALL이 정렬이 들어가지 않기 때문에 더 빠르고 가성비가 좋다고 함- UNION은 정렬 후 중복 제거를 하는 과정 중, using temporary를 하는데 임시 저장소에 담았다는 것이다. 이 과정이 성능상 좋지 않다고 한다. ⭐ UNION- 두 개 이상의 SELECT 문의 결과를 결합하는 데 사용- 중복 행은 하나로 간주(중복 행 제거)SELECT AFROM BWHERE UNIONSELECT AFROM CWHERE ⭐ UNION ALL- UNION과 거의 동일하지만 중복 행을 제거 하지 않음SELECT AFRO..
📒 Today I Learn/🐬 SQL
2024.07.03 ✳️ 특정 날짜, 시간 정보 반환⭐ 날짜DATE( ) : 문자열에 따라 날짜 정보 생성 YEAR( ) : 날짜 정보에서 연도에 해당하는 값 반환MONTH( ) : 날짜 정보에서 월에 해당하는 값 반환(0~12)MONTHNAME( ) : 날짜 정보에서 월(영문)에 해당하는 값 반환DAYOFTYEAR( ) : 해당 연도에서 몇 번째 날인지 반환(1~366)DAYOFMONTH( ) , DAY( ) : 날짜 정보에서 일자에 해당하는 값 반환(0~31)DAYOFWEEK( ) : 해당 주에서 몇 번째 날인지 반환 (일=1, 월=2, 화=3, ... , 토=7)WEEKDAY( ) : 날짜 정보에서 요일값 반환 (월요일~일요일 : 0~6)DAYNAME( ) : 날짜 정보에서 요일명 반환 DATE_F..
2024.07.03 ✳️ WITH 절하나의 서브쿼리 또는 임시 테이블처럼 활용할 수 있는 기능- 기본 구조WITH (테이블명) AS ( WITH절로 저장하고 싶은 쿼리문 ) SELECT * FROM (WITH절로 저장한 테이블명);⭐ WITH 절 장점1. 코드의 가독성을 높임서브쿼리가 여러 번 사용되면 자연스럽게 쿼리가 길어지고 가독성이 떨어진다.with 절을 이용하면 가독성 문제를 해소할 수 있다.(개인적으로 작성하는 순서가 밑에서 위로 쓰는 서브쿼리 대신에 위에서 아래로 쓰는 순서라 작성할 때도 편한 것 같다.)with (테이블 명_1) as ( with절로 저장하고 싶은 SQ..
2024.07.02 ✳️ COALESCE ( ): 주어진 리스트 중에서 첫 번째 NULL 이 아닌 값을 반환, 모든 인자가 NULL일 경우에는 NULL을 반환COALESCE(value1, value2, value3, ..., valueN) ⭐ 사용 예시1️⃣ 친화적 정보 제공null 이라는 표현 보다 '없다' 라는 걸 직관적으로 표현해서 제공할 경우name밤비심바NULLSELECT COALESCE(name, '이름 없음') AS CAT_NAMEFROM CATS;# CAT_NAME# 밤비# 심바# 이름 없음 2️⃣ 데이터 분석 및 계산null 값 때문에 데이터 분석이나 계산을 할 때 올바른 결과를 얻지 못할 경우만약에 할인율이 NULL이어서 0으로 간주하고 최종 가격을 계산하려고 한다면,SELECT pri..
2024.07.02코드카타를 풀다가.. 아니 공백을 넣어야 정답이 되는 게 있어서 어이가 없었지만...공백을 넣는 것도 있구나.. 싶어서 찾아본 공백 넣기.. 그리고 공백과 NULL의 구분!그리고 의식의 흐름으로 nullif하고 ifnull의 차이를 공부했다. ✳️ ' ' 제일 간단한 방법으로는 작은 따옴표 안에 공백을 치고 넣어 주는 방식이 있다.CONCAT(CITY, ' ', STREET_ADDRESS1, ' ', STREET_ADDRESS2) AS '전체주소'내가 풀다가 공백을 넣어야 했던 그 부분을 끌어오자면...위에 코드는 시, 도로명 주소, 상세주소가 있는 컬럼들을 하나로 출력 되게 하기 위해 CONCAT으로 묶어준 것인데 공백을 넣어줘야 해서 사이사이에 ' '를 넣어 줬다.✳️ S..
2024.07.01오늘 새로운 팀원들을 만났다. 내향형 분석가들 팀들과 일주일 만에 헤어지게 되어 아쉬웠지만,, 어쩔 수 없죠..프로그램에서 하라는 대로 또 참여해야 하니까 또 따라 가야지용?하지만 조큼 심장이 쿵쾅쿵쾅.. 첫 조원들이 너무 좋았던 분들이라 또 내심 긴장 되더라..그런데 다행히도 새로운 분들도 정말 좋은 분들이라는 생각이 든다.깔끔하고 진행속도도 좋은 팀워크! 또 파이썬 기초 주간 동안에 함께 잘 성장해 나아가고 싶은 마음이다!오늘하고 내일까지는 sql에 좀 더 집중을 하기 위해 파이썬 일정은 빼두었다.. 왜냐면 기본 문법만 봐서는 모르겠거든요..그래서 오늘 배운 새로운 sql 내용! 코드카타를 하며 아~ 윈도우 함수가 이렇게 많았구나! 해서 정리해본다.✳️ Window 함수window ..
2024.06.26 그룹활동으로 SQL 코드카타 40번 ~ 43번 문제풀이 중 배웠던 것들!! ✳️ REGEXP (REGULAR EXPRESSION; 정규 표현식) 특정 규칙을 가진 문자열의 집합을 표현, 패턴을 사용하여 문자열을 처리 ✔️ MatchingPattern기능예시설명.문자 하나"..."문자열의 길이가 세 글자 이상인 것을 찾음| 또는 (OR). | 로 구분된 문자에 해당하는 문자열을 찾음"데이터|데이터"‘데이터’ 또는 ‘데이타’에 해당하는 문자열을 찾음[][] 안에 나열된 패턴에 해당하는 문자열을 찾음"[123]d"대상 문자열에서 ‘1d’ 또는 ‘2d’ 또는 ‘3d’인 문자열을 찾음^시작하는 문자열을 찾음"^안녕"대상 문자열에서 ‘안녕’으로 시작하는 문자열을 찾음$끝나는 문자열을 찾음"잘가$..
2024.06.24 드디어 내배캠 데이터분석 캠프 시작!! 1주차는 정정기간이라 OT랑 팀원들을 만나 서로 인사하고 개인 공부를 하며 시간을 보냈기 때문에 SQL 기초 강의를 모두 들을 수 있게 되었다! 근데 넘오 헷갈린다!!! 심화에 들어갈 생각하니까 벌써 걱정... ㅠㅠ 내가 잘 할 수 있을까..? [이론 및 실습]✳️ NULL - 값이 없는 경우 • 데이터가 없는 경우에 연산에 영향을 미칠 수가 있다. 1) Mysql에서는 사용할 수 없는 값은 0으로 간주하여 연산에서 제외한다. (=원래 컬럼 속 데이터에 not given은 0으로 간주함.) ▶ 그래서 그냥 평균 계산식을 이용하면 0값으로 인식되어 0값을 포함한 모든 데이터 값을 계산 후 그 개수에 맞춰 나눠준 것이다. ▶ 하지만 null 이라고 ..
2024.06.23 ㅠㅠ 결국엔 본강의 시작 전까지 총 5주차 분량에 달하는 기초 강의를 다 못 들었다.. 담임 매니저님두 주말까지 다 듣기에 힘들 거라고 하시긴 했다.. 그래도 TIL 써가면서 용케 작심삼일 안하고 4주차까지 달린 것에 의의를 둔다.. 만약 4주차를 다 끝내지 않았다면 내 마음가짐은 엉망인 상태로 시작을 했겠지? [이론 1]✳️ Subquery - 영어에서 문장, 수학에서 수식이 길면 효율적인 표현으로 쉽게 표현하고자 하는데 sql에도 이러한 방식이 있다. • Subquery가 필요한 경우 → 여러 번의 연산을 수행해야 할 때 → 조건문에 연산 결과를 사용해야 할 때 → 조건에 Query 결과를 사용하고 싶을 때 • 기본 구조 select column1, special_column fr..
2024.06.21앗 잠시만요,, 갑자기 너무 어려워지는데요?생각이 많은 감자는.. 벌써부터 나중에 내가 이런 걸 혼자서 데이터를 다룰 때 능숙하게 잘 할 수 있을지 걱정해요...^ㅠ^일단 파이팅....! (분명 오늘 본 건데 왜 기억에 없지...) [이론 1]✳️ REPLACE, SUBSTRING, CONCAT - 데이터 가공하기 • 쿼리 결과를 바로 사용할 수 없는 경우 ex) 데이터의 잘못된 다량의 값을 수정해줄 때, 칼럼 내의 내용 중 특정 정보만 필요할 때, 칼럼 1의 a 내용과 칼럼 2의 b 내용이 'a b' 형태로 문자 포맷을 변경하고 싶을 때✳️ REPLACE - 특정 문자를 다른 문자로 바꾸기 ..