Algorithm_SQL 11

프로그래머스 : Front End 개발자 찾기(DISTINCT)

SELECT DISTINCT d.ID as ID, d.EMAIL as EMAIL, d.FIRST_NAME as FIRST_NAME,d.LAST_NAME as LAST_NAMEFROM DEVELOPERS as d LEFT JOIN SKILLCODES as s ON s.CODE & d.SKILL_CODE = s.CODEWHERE s.CATEGORY = 'Front End'ORDER BY ID;# SELECT *# FROM DEVELOPERS as d LEFT JOIN SKILLCODES as s ON s.CODE & d.SKILL_CODE = s.CODE# ORDER BY ID; join 상태 모르겠으면 한번 출력해보자 DISTINCT는 SELECT 바로 뒤에만 붙는다.

Algorithm_SQL 2025.09.12

프로그래머스 : 월별 잡은 물고기 수 구하기

SELECT COUNT(*) AS FISH_COUNT, MONTH(TIME) as 'MONTH'FROM FISH_INFOGROUP BY MONTH(TIME)ORDER BY MONTH; SQL에서 대표적인 날짜/시간 타입DATE → 연/월/일 (예: 2025-09-12)TIME → 시/분/초 (예: 18:23:45)DATETIME / TIMESTAMP → 날짜+시간 (예: 2025-09-12 18:23:45)1. 날짜 전체 추출 / 변환DATE(expr)DATETIME이나 TIMESTAMP에서 날짜 부분(YYYY-MM-DD) 만 추출예: DATE('2025-09-12 18:23:45') → '2025-09-12'TIME(expr)DATETIME에서 시간 부분(HH:MM:SS) 만 추출예: TIME('202..

Algorithm_SQL 2025.09.12

NTILE, WITH

NTILE(n) OVER (ORDER BY column) 전체 행(row)을 순서대로 정렬한 후 → n개 그룹으로 나눔각 행에 **그룹 번호(1 ~ n)**를 부여그룹 크기는 가능한 한 균등하게 분배됨(딱 안 나눠떨어지면 앞쪽 그룹이 한 개 더 많음)순위 기반 등분: 데이터를 사분위(4분위), 십분위(10분위) 등으로 나눌 때 WITH - CTE(Common Table Expression, 공통 테이블 식)WITH 임시테이블명 AS ( SELECT ...)SELECT ...FROM 임시테이블명; WITH 구문은 **임시로 이름 붙인 결과 집합(가상의 테이블)**을 만드는 문법마치 **서브쿼리(subquery)**를 FROM 안에 넣는 것과 비슷하지만,가독성이 좋고재사용이 가능하다는 차이

Algorithm_SQL 2025.09.12