SQL 13

MySQL_정규표현식_개념, 활용사례

정규표현식이란?[문자열 컬럼] REGEXP [정규표현식 패턴]정규표현식은 특정 규칙이 있는 문자열을 걸러내는 규칙 언어이다.예시ing로 끝나는 문자만 추출: ing$ → ending, runningA로 시작하는 문자만 추출: ^A → APPLE, APPLY^[A-Z][a-z]+$ 와 같은 문자 패턴으로 표현된다.REGEXP는 정규표현식 패턴을 문자열에 적용해 결과를 판단하는 SQL 문법이다.정규표현식 적용 결과 어떻게 확인하나?https://regexr.com/regexr.com은 정규표현식이 어떤 문자열과 어떻게 매칭되는지 실시간으로 보여주는 도구이다. 테스트하는데 유용하다.실무 예시 (MySQL)1. 완전히 숫자로만 이루어진 문자열^[0-9]+$^ : 문자열 시작[0-9] : 0~9 사이 숫자 하..

SQL 2026.01.18

250731_SQL(row_number -고유랭킹 문제)

요약/나만의 인사이트 태블로 매개변수-계산식 사용해서 전년비 매출 구하기P_년도를 통해 매개변수 생성 2021 ~ 2024C_금년 매출 계산식 생성 IF YEAR([주문 일자]) = [P_년도] THEN [매출] ENDC_전년 매출 계산식생성 IF YEAR([주문 일자]) = [P_년도]-1 THEN [매출] ENDC_전년비 매출 계산식 생성 (SUM([C_금년 매출]) - SUM([C_전년 매출])) / SUM([C_전년 매출])C_전년비 매출 양/음 계산식 생성 - 색상표시 목적IF [C_전년비 매출] ≥ 0 THEN [C_전년비 매출] ENDIF [C_전년비 매출] 새롭게 알게 된 것태블로태블로 LOD(Level Of Detail) 표현식시각화의 집계 수준과 관계없이 원하는 수준의 집계를 정의할 수..

SQL 2025.08.01

250602_ SQL 어려운 문제 반복 풀이

머릿속의 수많은 개념으로 혼란스럽다.배운 것들은 많은데 그것들의 용도, 체계 등이 복합적이라 말 그대로 혼돈의 카오스인 것 같다. 구조화, 체계화를 좋아하고 자신있다 자부해왔지만 멘탈붕괴를 겪는 스스로를 보니 원통하더라.게다가 주말 내내 반복 연습했는데도 난 여전히 모르겠다. 후, 그래도 해야지 어쩌겠어. 어려울수록 기본기부터 내 안에 쌓아야지, 그것들을 정리해야지.뭐, 문제에 봉착하여 괴로워하는 것 자체가 열심히 정진하고 있음을 증명하는 일이니까. - 뭐가 어려운지- 그래서 어떻게 하면 잘 할 수 있을지가보자고~ 더보기더보기오늘의 주요 학습 1. GROUP BY 사용하면- SELECT절에 해당 컬럼이나 집계함수 꼭 써야한다. 다른거 쓰면 안된다. 이것이 바로 SQL 문법이다. 2. IFNULL(com..

SQL 2025.06.02

250530_SQL(JOIN), 파이썬 총 복습

오늘의 학습에 대하여출력, 튜플, 리스트, 인덱싱, 슬라이싱을 전반적으로 복습했다.챗지피티한테 문제 출제해달라고 해서 개념 숙지가 잘 되었는지 점검하였다.1. 이번주는 어땠는가?파이썬이란 친구가 생각보다 쉽지 않았다.SQL은 친해졌다고 생각했는데 한 문제당 굉장히 많은 시간이 소요되는 것을 보며, 나는 아직 멀었구나 생각하게 되었다.낙담했지만, 나는 이러한 구조화된 언어를 배운지 얼마 안되었다고 위로해본다! (반년도 안되었어!!!)매일매일 이렇게 꾸준히 정진하고 있어서 연습만 계속한다면 반드시 성장할 것이라 믿는다. 주말동안 파이썬 개념 복습 , SQL 코드타카 헤맸던 문제 풀이 다시 가즈아~~아무튼 이번주 고생했다 내 자신2. 학습하며 겪었던 문제점 & 에러문제1: 세개의 테이블이 나왔을 때내가 겪은 ..

SQL 2025.05.30

250528_SQL(RANK), 파이썬(함수)

오늘의 학습에 대하여파이썬은 쉽지 않다.하지만 차근차근 하면 가까워 질 수 있다. 아자잣!!1. 오늘 학습 한 내용을 나만의 언어로 정리하기whilewhile을 하면서 내가 응용했던(?) 오답과 정답을 비교해보기정답total = 0while True: num = input("숫자를 입력하세요 (종료하려면 'quit' 입력): ") if num == 'quit': break total += int(num)print("합:", total)total = 0while True: num = input("숫자를 입력하세요 (종료하려면 'quit' 입력): ") if num == 'quit': break total += numprint("합:", total)숫..

SQL 2025.05.28

250523_내일배움캠프_어려운 쿼리문(UNION ALL, LEFT JOIN)

멋지게 발표 해낸 나! 칭찬해 전달력이 우수하다고 칭찬도 받았다고!학습한 내용을 토대로 가설 수립 → 분석 → 검증까지 가본거 대단해!딥하게 들어가지 않은 점, 장표를 더 깔끔하고 분명하게 만들고 싶었던게 아쉬움이 남지만 지금은 과정이니까, 난 그리고 계속 발전할거니까! 그것도 다 괜찮아무엇보다도 끝나고 궁금했던 쿼리문 결국 만들어서 해냈다구!칭찬해 나란 사람~~ 수고 많았어 이번주 ^^ 💡오늘의 학습에 대하여union 함수는 세로로 묶을 수 있는 함수다.union all 하면 중복값 무관하게 다 보여준다.join 할 때 on 절에 넣을 기준 값은 고유값이어야 한다.어떤 테이블을 기준으로 join 할지 감을 익히자! 250523_내일배움캠프_어려운 쿼리문(UNION ALL, LEFT JOIN) |..

SQL 2025.05.23

250522_내일배움캠프_FIELD 함수

오늘의 학습에 대하여FIELD 함수 : 리스트 안에 값이 몇 번째에 위치하는지 알려주는 함수, 정렬에 활용할 수 있다.1. 오늘 학습 한 내용을 나만의 언어로 정리하기FIELD 함수 : 리스트 안에서 값이 몇 번째에 위치하는지 알려주는 함수SELECT FIELD('grape', 'apple', 'banana', 'cherry');# 0 (값이 없으면 0으로 출력된다.)활용예시1) 정렬에 응용되기도 한다.ODRDER BY FIELD(ANIMAL_TYPE, 'Cat', 'Dog') #ANIMAL_TYPE이 'Cat'이면 1, 'Dog'이면 2를 반환한다. 따라서 숫자 기준으로 정렬되기 때문에 'Cat' -> 'Dog'순으로 나온다. 만약 ORDER BY ANIMAL_TYPE만 쓰면 알파벳 순으로 정렬된다.활..

SQL 2025.05.22

250521_내일배움캠프_window function(rank, sum), date_format

어렵지만 하면 할 수록 잘 하고 싶고 무엇보다 재미있다.초반엔 비기너에게 너무 어려운 과제를 부여하는 게 아닌가 한숨이 나왔으나 막상 해보니 하게 된다.덕분에 캐글 UX&UI도 익숙해지고, CSV파일도 다운 받아 데이터에 가져올 수 있게 되었다. 역시 일단 해보는 게 중요하구나!오늘의 학습에 대하여window funtion : 행의 관계를 정의하기 위한 함수로 그룹내의 연산 작업date_format : 날짜형식 데이터를 포맷팅 하기; 1. 오늘 학습 한 내용을 나만의 언어로 정리하기date__format(datetime, ‘%Y-%m-%d’)정의: 날짜/시간(datetime) 값을 지정한 형식의 문자열로 변환하는데 사용SELECT DATE_FORMAT('2025-05-21 14:30:00', '%Y-%..

SQL 2025.05.21

250516_내일배움캠프_SQL(서브쿼리, groub by, having)

오늘은 내가 학습한 내용을 토대로 튜터님께 질문한 첫 날! (기록으로 이 영광스러움을 기록한다.)창피당할까봐 두려운 것은 아니나,모두가 접근 가능한 오픈된 장소에 내 이름이 거론되고, 내가 조명받는 게 힘든 유형이다 (대문자 I임)그럼에도 불구하고, 질문을 통해 성장할 수 있고, 이번 첫 시도를 통해 다음 문턱이 낮아지며, 나 역시 다른 사람의 질문을 통해 도움 받았으니 "공개된 채널"에 "질문"을 남겼다. 하하 다행히 정성스럽고 착착 감기는(?) 답변으로 내 학습에 도움이 되었다고 한다^^ 그럼 이제 본론으로~~ 💡오늘의 학습에 대하여서브쿼리는 임시 테이블이다.따라서 별칭이 꼭 있어야 한다.“원래 테이블에도 이름 있잖소?" 이렇게 이해하면 좋다.서브쿼리는 일련의 연산 절차를 만들어 준다e.g. ..

SQL 2025.05.16

250515_내일배움캠프_SQL(if, case)

💡오늘의 학습에 대하여조건문 if와 case에 대해! 1. 오늘 학습 한 내용을 나만의 언어로 정리하기조건문 if, caseif (조건, 값1, 값2) : 조건일 때 값1, 조건이 아닐 때 값2를 출력한다.if (cuisine_type = ‘Korean’, ‘한식’, ‘기타) :음식타입이 코리안일 때 ‘한식’ 그렇지 않으면 ‘기타’if (addr like ‘%평택군%’, replace(addr, ‘문곡리’, ‘문가리’), addr):평택군을 포함한 주소일 때, 문곡리를 문가리로 바꿔줘, 그렇지 않으면 주소 그래도 적어줘substring(if(email like ‘%gmail%’, replace(email, ‘gmail’, ‘@gmail’), email), 10)gmail을 포함인 이메일일 때 gmail..

SQL 2025.05.15