본문 바로가기
반응형

Database/MySQL5

[MySQL]서브쿼리보다 가독성 좋은 WITH 구문 SQL을 다루다 보면 복잡한 쿼리를 작성할 일이 많다. 특히 서브쿼리를 여러 번 중첩해서 쓰면 가독성이 떨어지고, 유지보수도 어렵다. 이럴 때 유용한 기능이 바로 CTE(Common Table Expression), 즉 WITH 구문이다. ◾ 참고 ◾ CTE(Common Table Expression)는 쿼리 안에서 일시적으로 이름 붙인 결과 집합을 뜻하는 개념이고,우리가 흔히 사용하는 WITH 구문은 바로 이 CTE를 정의할 때 사용하는 SQL 문법이다. 🤷‍♀️WITH 구문이란?WITH 구문은 일시적인 테이블(임시 결과 집합)을 만들어 쿼리에서 재사용할 수 있도록 해준다. 보통 서브쿼리를 대체하는 용도로 사용하며, 가독성을 높이고 성능 최적화에도 도움이 될 수 있다. 🔸기본 문법WITH 임시_.. 2025. 5. 22.
[MySQL]GROUP_CONCAT()과 FIND_IN_SET() 👨‍💻 MySQL에서 GROUP_CONCAT과 FIND_IN_SET 활용하기개발을 하다 보면 하나의 컬럼에 여러 개의 값을 저장하는 경우가 생긴다.예를 들어, 실무에서 논문의 페이지 정보를 한 컬럼에 파이프(|)로 구분한 문자열로 저장해야` 했었다.이때 유용하게 사용할 수 있는 SQL 함수가 GROUP_CONCAT()과 FIND_IN_SET()이다. 1️⃣ GROUP_CONCAT() 함수GROUP_CONCAT()은 여러 행의 값을 하나의 문자열로 합치는 함수이다.기본적으로 각 행의 값을 콤마(,)로 연결해서 하나의 문자열로 만든다.SELECT GROUP_CONCAT(column_name ORDER BY column_name SEPARATOR ', ') FROM table_name;ORDER BY co.. 2025. 5. 20.
[MySQL]중복 제거 시 사용하는 DISTINCT 🤔 DISTINCT란?DISTINCT는 중복된 행을 제거하여 유일한 결과만 반환한다.기본 문법은 아래와 같음.SELECT DISTINCT 컬럼1, 컬럼2, ...FROM 테이블명;  👨‍💻 DISTINCT 예시SELECT DISTINCT o.customer_id, o.order_id, o.delivery_status, COUNT(o.product_id) OVER ( PARTITION BY o.customer_id, o.order_id, o.delivery_status ) AS product_countFROM orders oWHERE o.is_cancelled = 'N'; DISTINCT를 활용해, 고객 ID, 주문 ID, 배송 상태가 동일한 경우 중복을 .. 2025. 4. 3.
[MySQL]DATE_FORMAT 함수 🔅DATE_FORMAT 함수MySQL에서 날짜와 시간을 포맷할 때 사용하는 DATE_FORMAT 함수에서는 대소문자에 따라 다음과 같은 차이가 있음%Y: 4자리 연도 (예: 2024)%y: 2자리 연도 (예: 24)%m: 2자리 월 (01부터 12까지)%M: 월 이름 (예: January, February)%d: 2자리 일 (01부터 31까지)%D: 일에 붙는 접미사 (1st, 2nd, 3rd, ...)%c : 한 자리 또는 두 자리 월을 표시합니다. (예: 1부터 12까지)   %e : 한 자리 또는 두 자리 일을 표시합니다. (예: 1부터 31까지) SELECT DATE_FORMAT(NOW(), '%Y-%m-%d') AS formatted_date; -- 2024-06-28SELECT DATE_FO.. 2024. 8. 30.
[MySQL] IFNULL 함수 (Oracle의 NVL과 같은 역할) MySQL에서는 NULL 값을 대체할 때, IFNULL이라는 함수를 사용할 수 있음.IFNULL(컬럼명, '대체값');  예시를 들어보면, INCOME(월급)이라는 컬럼에 값이 없으면 NULL이 아닌 0이 들어가게 하고 싶다?! 아래와 같이 쓰면 된다. 그러면 INCOME에 들어갈 값이 없으면 무조건 0이 들어가게 된다.수입 0...이 되고 싶지 않으면 일하자 😂IFNULL(INCOME, 0);   +참고) 이와 같은 함수가 오라클에도 있음! 오라클에서는 null값을 대체 할 때, NVL 함수를 쓸 수 있음. 이건 이전에 공부했었으니 아래 포스팅을 보자 !  아래 참조!🔽🔽2023.11.29 - [Database/Oracle SQL] - [SQL-Oracle]함수(Function) - 일반함수 -N.. 2024. 6. 4.
반응형