db6 [SQL] DATE_ADD와 DATE_SUB DATE_ADD와 DATE_SUB특정 시간을 기준으로 더하거나, 빼야 하는 경우가 있습니다. 이 때 사용하는 함수가 DATE_ADD와 DATE_SUB입니다.DATE_ADD는 기준 날짜에 입력된 기간만큼을 더하는 함수DATE_SUB는 기준 날짜에 입력된 기간만큼을 빼는 함수🏷️ 사용법✅ DATE_ADD DATE_ADD(기준 날짜, INTERVAL 시간) ✅ DATE_SUBDATE_SUB(기준 날짜, INTERVAL 시간)🏷️ DATE_ADD 예제 쿼리✅ 초 더하기SELECT DATE_ADD(NOW(), INTERVAL 1 SECOND);✅ 분 더하기SELECT DATE_ADD(NOW(), INTERVAL 1 MINUTE);✅ 시간 더하기SELECT DATE_ADD(NOW(), INTERVAL 1 HOU.. 2025. 8. 19. [SQL] 재귀 쿼리 WITH RECURSIVE 문 WITH RECURSIVE프로그래밍에서 재귀 함수를 들어봤듯이, SQL에서도 재귀 쿼리 기법이 존재합니다. 다만 문법이 이상한데 우선 WITH RECURSIVE 쿼리문을 작성하고 내부에 UNION을 통해 재귀를 구성하는 것이 포인트입니다.WITH RECURSIVE CTE_COUNT AS ( -- Non-Recursive 문장( 첫번째 루프에서만 실행됨 ) SELECT 1 AS N UNION ALL -- Recursive 문장(읽어 올 때마다 행의 위치가 기억되어 다음번 읽어 올 때 다음 행으로 이동함) SELECT N + 1 AS NUM FROM CTE_COUNT WHERE N 메모리 상에 가상의 테이블을 저장합니다.반드시 UNION 사용해야합니다.반드시 처음 한.. 2025. 8. 12. [DB] UNION과 UNION ALL 🏷️ UNION여러 쿼리문들을 합쳐서 하나의 쿼리문으로 만들어주는 방법입니다. 중복된 값을 제거하고 보여주고, 중복된 값을 제거하는 연산이 추가로 수행되기 때문에 UNION ALL보다 속도가 느립니다.🏷️ UNION ALLUNION과 동일하게 여러 쿼리문들을 합쳐서 하나의 쿼리문으로 만들어주는 방법으로 중복된 값을 모두 보여줍니다.✅ 사용법SELECT A_COL AS COL1, B_COL AS COL2FROM TABLE_AUNION (UNION ALL)SELECT C_COL AS COL1, D_COL AS COL2FROM TABLE_B;✔️ 주의사항컬럼명이 동일해야 하며, 같지 않을 경우 AS를 이용해 컬럼명을 맞춰줘야 합니다.컬럼별로 데이터 타입이 동일해야 .. 2025. 8. 4. [MySQL] 랭크 함수 1. RANK RANK() 함수는 윈도우 함수 중 하나로, 결과 집합의 각 행에 순위를 할당합니다. 동일한 값을 가진 행에는 동일한 순위를 부여하며, 다음 순위는 중복된 순위 개수만큼 건너뛰어 부여됩니다. 즉, 동점자가 발생하면 순위가 비어있는 것처럼 보이는 것이 특징입니다. RANK() OVER (PARTITION BY column1 ORDER BY column2)PARTITION BY: 선택 사항으로, 특정 열을 기준으로 그룹화하여 각 그룹 내에서 순위를 나타내고, 생략하면 전체 결과 집합에 대해 순위를 매깁니다. ORDER BY: 순위를 매길 기준 열을 지정합니다.🏷️ 예시SELECT student_name, score, RANK() OVER (ORDER BY score DESC.. 2025. 7. 28. [DB] Redis RedisRedis는 오픈 소스로, 데이터베이스로 사용되는 Key-Value 저장소입니다. 또한 다양한 인메모리 데이터 구조를 제공히며, 비정형 데이터를 저장, 관리하기 위한 오픈 소스 기반의 NoSQL 입니다. 그래서 웹 서버의 부담을 획기적으로 줄이고, 고속으로 데이터 제공이 가능합니다.NoSQL란?Not Only SQL 혹은 Non-Relational Operational DataBase의 약자로 비관계형 데이터베이스를 지칭합니다. 기존의 RDBMS와 같은 관계형 데이터 모델을 지양하며 대량의 분산된 비정형 데이터를 저장하고 조회하는데 특화된 데이터베이스로 스키마 없이 사용하거나 느슨한 스키마를 제공하는 저장소입다.스키마란?데이터베이스의 구조와 제약조건에 관해 전반적인 명세를 기술한 것입니다.위 사.. 2024. 10. 9. [DB] Index Index 인덱스는 데이터베이스 테이블에 대한 검색 성능의 속도를 높여주는 자료 구조입니다. 특정 컬럼에 인덱스를 생성하면, 해당 컬럼의 데이터들을 정렬하여 별도의 메모리 공간에 데이터의 물리적 주소와 함께 저장됩니다. 이렇게 인덱스가 생성하였다면 앞으로 쿼리문에 "인덱스 생성 컬럼을 Where 조건으로 거는 등"의 작업을 하면 옵티마이저에서 판단하여 생성된 인덱스를 탈 수가 있습니다. 즉 인덱스는 책에 있는 목차라고 생각하시면 편합니다. 우리가 책에서 정보를 찾을때도 먼저 원하는 카테고리를 목차에서 찾고 목차에 있는 페이지 번호를 보고 찾아가듯 인덱스도 인덱스에서 내가 원하는 데이터를 먼저 찾고 저장되어 있는 물리적 주소로 찾아갑니다. 🏷️ Index의 장점 테이블에 데이터들이 인덱스의 가장 큰 .. 2024. 10. 6. 이전 1 다음