Programming 36

🚀 MSSQL에서 PARTITION BY를 활용한 고급 쿼리 작성법

🚀 MSSQL에서 PARTITION BY를 활용한 고급 쿼리 작성법PARTITION BY는 윈도우 함수(Window Functions)에서 사용되는 강력한 기능으로, 특정 컬럼을 기준으로 데이터를 그룹화하여 각 그룹 내에서 집계 연산을 수행할 수 있습니다. 이번 포스팅에서는 PARTITION BY의 활용법을 단계별로 설명하고, 실전 예제와 함께 고급 SQL 쿼리 작성법을 소개하겠습니다. ✅🎯 1. PARTITION BY란?PARTITION BY는 GROUP BY와 유사하지만, 데이터를 그룹화하면서도 개별 행을 유지하는 것이 특징입니다. 윈도우 함수와 함께 사용하여 누적합, 그룹 내 순위, 이동 평균, 첫 번째 또는 마지막 값 가져오기 등의 연산을 쉽게 수행할 수 있습니다. 💡 기본 문법SELE..

Programming 2025.03.16

🎯 MSSQL에서 CASE WHEN과 IIF를 활용한 조건 분기

MSSQL에서 IF-ELSE와 유사한 로직을 구현할 때 가장 많이 사용하는 것이 CASE WHEN과 IIF입니다.이번 포스팅에서는 두 가지 방법을 비교하고, 활용 예제를 정리해보겠습니다! 🚀✅ 1. CASE WHEN을 활용한 조건 분기CASE WHEN은 다중 조건을 처리할 때 유용한 SQL 문법입니다.기본 문법은 다음과 같습니다:CASE WHEN 조건1 THEN 결과1 WHEN 조건2 THEN 결과2 ELSE 기본결과END🎯 예제 1: 성적 등급 부여학생들의 점수를 기준으로 성적 등급을 부여하는 SQL 문입니다.SELECT student_name, score, CASE WHEN score >= 90 THEN 'A' WHEN score >..

Programming 2025.03.14

🚀 MSSQL에서 INDEX를 활용한 성능 최적화 전략

MSSQL에서 INDEX(인덱스)는 데이터 검색 속도를 높이는 핵심 요소입니다. 하지만 잘못 사용하면 오히려 성능이 저하될 수도 있습니다. 이번 글에서는 MSSQL에서 인덱스를 효과적으로 활용하여 성능을 최적화하는 전략을 정리하겠습니다. ✅🎯 1. 인덱스란?인덱스(Index)는 데이터베이스에서 검색 속도를 향상시키기 위한 데이터 구조입니다.마치 책의 목차처럼, 특정 데이터를 빠르게 찾을 수 있도록 도와줍니다.📌 MSSQL에서 제공하는 주요 인덱스 유형:인덱스 종류설명클러스터형 인덱스(Clustered Index)테이블의 물리적 순서를 인덱스 키 값 기준으로 정렬비클러스터형 인덱스(Non-Clustered Index)데이터와 별도로 저장되며, 테이블의 특정 컬럼을 기반으로 인덱스 생성고유 인덱스(Uni..

Programming 2025.03.12

🚀 MSSQL에서 동적 SQL(Dynamic SQL) 활용하기

MSSQL에서 동적 SQL(Dynamic SQL)은 실행 시간에 SQL 문을 동적으로 생성하고 실행하는 방법입니다. 이를 통해 조건에 따라 쿼리를 유연하게 변경할 수 있습니다. 이번 포스팅에서는 동적 SQL을 사용하는 방법과 주의해야 할 사항을 정리해보겠습니다. ✅ 🎯 1. 동적 SQL이란?일반적인 SQL 쿼리는 정적인 형태로 작성됩니다. 하지만 검색 조건이 동적으로 변경되는 경우에는 WHERE 절이나 ORDER BY 등을 상황에 맞게 변경해야 합니다. 예제: SELECT * FROM Customers WHERE City = 'Seoul';위 쿼리는 특정 도시(Seoul)만 조회하는 정적 SQL입니다.하지만 사용자가 입력한 도시명을 기준으로 조회하려면 어떻게 해야 할까요? ✅ 이때 동적 SQL..

Programming 2025.03.11

🚀MSSQL에서 CTE (Common Table Expression) 활용법

MSSQL에서 CTE(Common Table Expression)는 임시적인 결과 집합을 만들어 SQL 쿼리의 가독성을 높이고, 재귀 쿼리를 작성할 때 유용하게 사용할 수 있습니다.이번 포스팅에서는 CTE의 개념, 기본 사용법, 활용 사례를 쉽게 설명해 보겠습니다. ✅🔍 1. CTE란?CTE (Common Table Expression)는쿼리 안에서 임시적인 결과 집합을 만들어, 마치 뷰(View)처럼 사용할 수 있는 기능입니다.🔹 WITH 키워드를 사용하여 정의하며,🔹 SELECT, INSERT, UPDATE, DELETE 문과 함께 사용할 수 있습니다.✅ CTE의 장점쿼리 가독성 향상: 서브쿼리를 줄이고, SQL을 더 읽기 쉽게 만든다.재귀 쿼리 지원: 계층 구조 데이터를 쉽게 조회할 수 있다...

Programming 2025.03.10

📌 MSSQL에서 그룹별 최신 데이터 가져오기

(ROW_NUMBER vs RANK vs PARTITION BY 비교)MSSQL에서 그룹별 최신 데이터를 가져올 때 가장 많이 사용하는 기법이 **윈도우 함수(Window Function)**입니다.대표적으로 ROW_NUMBER(), RANK(), DENSE_RANK()를 활용할 수 있는데요.각 함수의 차이점을 알아보고 가장 효율적인 데이터 추출 방법을 비교해보겠습니다. 🚀🎯 1. 윈도우 함수란?윈도우 함수(Window Function)는 집계 함수(Aggregate Function)와 비슷하지만, 그룹화된 결과를 개별 행에도 적용할 수 있는 함수입니다.주로 PARTITION BY와 함께 사용되며, 특정 그룹 내에서 순위를 매기거나 특정 조건을 적용할 때 유용합니다.사용할 수 있는 주요 윈도우 함수:..

Programming 2025.03.09

🔗 MSSQL에서 JOIN 다루기 – 기본부터 고급 활용까지! 🚀

MSSQL에서 JOIN은 여러 테이블을 연결하여 데이터를 조회할 때 필수적으로 사용됩니다. 이번 포스팅에서는 INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN, CROSS JOIN, SELF JOIN 등의 개념과 사용법을 쉽게 정리해보겠습니다! ✅📌 1. JOIN이란?JOIN은 두 개 이상의 테이블을 특정 기준(키 값)에 따라 결합하는 SQL 연산입니다.주로 외래 키(Foreign Key) 관계를 활용하여 데이터를 연결합니다.🎯 2. JOIN의 종류 및 차이점JOIN 종류 설명INNER JOIN두 테이블에서 일치하는 데이터만 반환LEFT JOIN왼쪽 테이블의 모든 데이터 + 오른쪽에서 일치하는 데이터 반환RIGHT JOIN오른쪽 테이블의 모든 데이터 + 왼쪽에..

Programming 2025.03.08

🛠 MSSQL에서 STRING 조작 (문자열 합치기, 자르기, 치환하기)

MSSQL을 사용할 때 문자열(String) 데이터를 합치기(Concatenation), 자르기(Substring), 치환하기(Replace) 하는 기능은 필수입니다. 이번 포스팅에서는 MSSQL에서 문자열을 다루는 기본 함수와 실전 활용법을 알아보겠습니다. 🚀📌 1. 문자열 합치기 (Concatenation)MSSQL에서 문자열을 합치는 방법은 + 연산자 또는 CONCAT() 함수를 사용하는 것입니다.✅ + 연산자 사용SELECT 'Hello, ' + 'World!' AS Result;🔹 결과: Hello, World!주의사항: NULL 값이 포함되면 결과가 NULL이 됩니다.SELECT 'Hello, ' + NULL AS Result; 🔹 결과: NULL 반환이를 방지하려면 ISNULL() 또..

Programming 2025.03.07

💡 MSSQL에서 날짜(VARCHAR ↔ DATE) 변환 방법 총정리

MSSQL을 사용할 때 날짜(yyyy-mm-dd) 데이터를 VARCHAR와 DATE 형식 간에 변환해야 하는 경우가 많습니다. 이번 포스팅에서는 날짜 형식 변환 방법을 쉽게 정리해보겠습니다. ✅🎯 1. VARCHAR → DATE 변환 방법MSSQL에서는 문자열(VARCHAR)을 날짜(DATE)로 변환할 때 CAST 또는 CONVERT 함수를 사용할 수 있습니다.-- 방법 1: CAST 사용SELECT CAST('2025-03-06' AS DATE) AS ConvertedDate;-- 방법 2: CONVERT 사용 (추천)SELECT CONVERT(DATE, '2025-03-06', 23) AS ConvertedDate;✅ 여기서 23은 yyyy-mm-dd 형식의 스타일 코드입니다.🎯 2. DATE →..

Programming 2025.03.06

[Python] 바이낸스API로 비트코인 1분봉 가져오기

오늘은 binance api로 비트코인 1분봉을 가져오는 코드를 작성하려고 합니다. 코드들은 여러 블로그 글들을 참고했는데, 레퍼런스를 못남겼네요 ㅠㅠ import된 패키지들입니다. 우선 api요청을 위한 requests 모듈이 보이고, time관련 패키지와 pandas가 보이네요. concurrent.futures라는 모듈도 import했는데, 이건 chatGPT가 멀티프로세싱을 제안하며 추가해주는 것입니다. 요새 코딩할때 chatGPT에게 최종 코드점검을 맡기는데 여러분도 꼭 이용해보시기바랍니다. import requests from datetime import timedelta import pandas as pd import datetime as dt from datetime import datet..

Programming 2023.01.19