oracle 15

날짜 및 시간 함수: SYSDATE, CURRENT_TIMESTAMP, EXTRACT() 완벽 정리

SQL에서 날짜와 시간을 다루는 것은 매우 중요합니다.특히 현재 날짜를 가져오거나, 특정 날짜에서 연도/월/일을 추출하는 기능은 실무에서 자주 사용됩니다.이번 글에서는 Oracle SQL에서 날짜 및 시간을 다룰 때 사용하는 주요 함수를 쉽게 설명하겠습니다! 😊🔹 1. 현재 날짜 및 시간 구하기✅ SYSDATE (현재 날짜 및 시간 반환)📌 SYSDATE는 현재 서버의 날짜와 시간을 반환하는 함수입니다.✔ 형식: YYYY-MM-DD HH24:MI:SSSELECT SYSDATE FROM dual;✔ 실행하면 현재 날짜와 시간이 반환됩니다.✅ CURRENT_TIMESTAMP (현재 날짜 + 시간대 정보 포함)📌 CURRENT_TIMESTAMP는 현재 날짜와 시간 + 타임존(time zone) 정보를 ..

개발 2025.03.22

데이터 타입과 변환: TO_DATE(), TO_CHAR(), CAST(), CONVERT() 활용

SQL에서 데이터를 다룰 때 가장 중요한 개념 중 하나가 데이터 타입(Data Type)입니다.데이터 타입이 다르면 연산이 불가능하거나 오류가 발생할 수 있기 때문에,서로 다른 데이터 타입을 변환하는 방법을 알아두는 것이 중요합니다.이번 글에서는 날짜, 문자, 숫자 등의 변환 함수를 예제와 함께 쉽게 설명하겠습니다! 😊🔹 1. 데이터 타입(Data Type)이란?📌 데이터 타입은 데이터가 어떤 형식으로 저장되는지를 정의합니다.✅ 자주 사용하는 데이터 타입데이터 타입설명VARCHAR2(n)가변 길이 문자열 (최대 n 바이트)CHAR(n)고정 길이 문자열 (최대 n 바이트)NUMBER(p,s)숫자 (p: 전체 자릿수, s: 소수점 이하 자릿수)DATE날짜와 시간 (YYYY-MM-DD HH:MI:SS)T..

개발/SQL 2025.03.21

CASE 문으로 데이터 변환: 동적 값 변환과 그룹핑

SQL에서 CASE 문은 조건에 따라 다른 값을 반환할 때 사용됩니다.IF 문과 비슷한 역할을 하며, 동적 값 변환, 그룹핑, 다양한 조건 처리에 유용합니다.이번 글에서는 CASE 문을 쉽게 이해하고 실무에서 활용할 수 있도록 예제와 함께 설명하겠습니다! 😊🔹 1. CASE 문 기본 개념📌 CASE 문은 조건에 따라 특정 값을 반환하는 SQL의 제어문입니다.✔ IF-ELSE 구조와 비슷하며, 다양한 데이터 변환과 그룹핑이 가능합니다.✅ CASE 문 기본 문법CASE WHEN 조건1 THEN 결과1 WHEN 조건2 THEN 결과2 ELSE 기본값END✔ WHEN → 조건을 설정✔ THEN → 조건이 참일 때 반환할 값✔ ELSE → 모든 조건이 거짓일 경우 반환할 기본값 (생략 가능..

개발/SQL 2025.03.20

LEAD & LAG 함수 사용법: 이전/다음 행 참조하기

SQL에서 LEAD()와 LAG() 함수는 이전 또는 다음 행의 값을 가져올 때 유용한 윈도우 함수(Window Function)입니다.예를 들어, 직전 월 매출과 현재 월 매출을 비교하거나, 다음 고객 방문 날짜를 확인할 때 활용할 수 있습니다.이번 글에서는 LEAD()와 LAG() 함수의 개념과 활용법을 쉽게 설명하겠습니다! 😊 🔹 1. LEAD & LAG 함수란?📌 윈도우 함수(Window Function) 중 하나로,✔ LEAD() → 현재 행 기준 "다음 행"의 값을 가져옴✔ LAG() → 현재 행 기준 "이전 행"의 값을 가져옴✅ 윈도우 함수 기본 문법함수명(컬럼명, 이동할 행 수, 기본값) OVER ( PARTITION BY 그룹기준컬럼 ORDER BY 정렬기준컬럼)✔ 이동할..

개발/SQL 2025.03.19

윈도우 함수(Window Function) 기초: RANK(), DENSE_RANK(), ROW_NUMBER()

SQL에서 윈도우 함수(Window Function)는 전체 데이터 집합에서 특정 그룹(윈도우) 내에서 순위를 매기거나 누적 값을 계산하는 데 유용한 함수입니다.특히, RANK(), DENSE_RANK(), ROW_NUMBER()는 순위를 매길 때 자주 사용되는 함수로,이들의 차이를 이해하면 더 효율적인 SQL 쿼리를 작성할 수 있습니다.이번 글에서는 윈도우 함수의 개념과 함께, RANK(), DENSE_RANK(), ROW_NUMBER()의 차이를 예제와 함께 쉽게 설명해드리겠습니다! 😊 🔹 1. 윈도우 함수(Window Function)란?📌 윈도우 함수(Window Function)란, 전체 결과 집합을 기준으로 특정 그룹(윈도우, Window) 내에서 연산을 수행하는 함수입니다.✔ GROUP..

개발/SQL 2025.03.18

서브쿼리(Subquery) 활용법: EXISTS, IN, ANY, ALL

SQL에서 서브쿼리(Subquery)란, 다른 쿼리 안에서 사용되는 쿼리를 의미합니다.서브쿼리는 일반적으로 메인 쿼리의 WHERE 절이나 SELECT 절에서 사용되며,특정 조건을 만족하는 데이터를 찾거나, 다른 테이블과 비교하는 데 유용하게 활용됩니다.이번 글에서는 서브쿼리의 기본 개념과 EXISTS, IN, ANY, ALL 연산자의 차이점을초보자도 쉽게 이해할 수 있도록 설명해드리겠습니다! 😊🔹 1. 서브쿼리란?📌 서브쿼리(Subquery)란 하나의 SQL 문 안에 포함된 또 다른 SQL 문입니다.즉, 메인 쿼리(Main Query)의 일부로 사용되는 쿼리라고 생각하면 됩니다.✅ 서브쿼리 기본 문법SELECT 컬럼명FROM 테이블명WHERE 컬럼명 (연산자) (서브쿼리);✔ 서브쿼리는 괄호 () ..

개발/SQL 2025.03.17

JOIN 종류 정리: INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN 비교

SQL에서 JOIN은 두 개 이상의 테이블을 연결하여 데이터를 조회할 때 사용하는 중요한 개념입니다.데이터베이스에서 하나의 테이블만으로 필요한 정보를 모두 얻기 어려운 경우가 많기 때문에,JOIN을 활용하여 여러 테이블의 데이터를 효과적으로 조합할 수 있습니다.이번 글에서는 INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN의 차이점을 쉽게 이해할 수 있도록 설명해드리겠습니다! 😊🔹 1. JOIN이란?JOIN은 두 개 이상의 테이블을 특정 기준(공통된 열, 보통 PK & FK)으로 연결하는 기능입니다.일반적으로 기본키(Primary Key)와 외래키(Foreign Key) 관계를 활용하여 데이터를 조합합니다.📌 예제 테이블우리가 사용할 테이블은 직원 정보(employee..

개발/SQL 2025.03.16

HAVING과 WHERE 차이: 그룹 함수와 함께 쓰이는 HAVING의 활용

SQL을 배울 때 WHERE과 HAVING의 차이점이 헷갈리는 경우가 많습니다.둘 다 조건을 설정하는 기능을 하지만, 사용하는 위치와 목적이 다릅니다.✅ 간단 비교:WHERE → 개별 행을 필터링할 때 사용HAVING → GROUP BY로 그룹화된 데이터를 필터링할 때 사용이번 글에서는 WHERE과 HAVING의 차이점을 이해하고, 실전에서 활용하는 방법을 배워보겠습니다! 😊🔹 1. WHERE 절 – 개별 행 필터링WHERE은 테이블에서 개별 행을 필터링하는 데 사용됩니다.즉, 데이터를 그룹화하기 전에 원하는 조건을 만족하는 행만 가져옵니다.✅ WHERE 기본 문법SELECT 열1, 열2, ... FROM 테이블WHERE 조건;🔸 예제 1 – 특정 부서의 직원 조회SELECT name, depart..

개발/SQL 2025.03.15

실전 프로젝트 & 문제 풀이: SQL 실력을 키우는 최고의 방법! 🧪

SQL을 배웠다면 이제는 실습이 필수! 이론을 공부하는 것도 중요하지만, 직접 문제를 해결하고 데이터를 다뤄보면서 실력을 키우는 것이 가장 효과적인 학습법입니다. 이번 글에서는 실전 프로젝트를 통해 SQL을 익히는 방법을 소개해 드릴게요. 😊🔹 1. 더미 데이터로 실제 업무 시나리오 구현하기SQL을 실습하려면 데이터가 필요합니다! 현실적인 데이터를 다루기 위해 더미 데이터를 생성해보세요.📌 실습 방법테이블 생성: 실제 업무에서 사용할 만한 테이블을 설계해 보세요. 예를 들어, 쇼핑몰 데이터베이스라면 고객, 주문, 상품 테이블을 만들어볼 수 있죠.데이터 삽입: INSERT INTO 문을 사용해 다양한 데이터를 추가하세요.쿼리 연습: 고객별 주문 내역 조회, 특정 기간 동안의 매출 합산 등의 시나리오를..

개발/SQL 2025.03.04

📊 5. 성능 최적화 & 트러블슈팅 (빠른 쿼리 = 좋은 개발자)

대용량 데이터를 처리할 때 속도가 느려지는 문제를 경험한 적 있나요? 쿼리 성능 최적화는 데이터베이스를 다루는 개발자에게 필수적인 기술입니다. 이번 글에서는 실행 계획 분석, 인덱스 최적화, 조인 및 서브쿼리 비교, 성능 테스트 방법을 쉽게 설명해볼게요! 😊 1. 실행 계획(EXPLAIN PLAN) 분석하기SQL을 실행할 때 데이터베이스가 어떤 방식으로 데이터를 가져오는지 알고 싶다면? EXPLAIN PLAN을 사용하면 됩니다!🔹 실행 계획이란?SQL 문이 실행될 때 어떤 순서로 데이터를 처리하는지 보여주는 정보입니다.테이블 조회 방식, 조인 순서, 인덱스 사용 여부 등을 확인할 수 있습니다.🔹 실행 계획 확인 방법 (Oracle 기준)EXPLAIN PLAN FORSELECT * FROM emplo..

개발/SQL 2025.03.03