2025/07 13

DAY 40 / [프로그래머스] SQL 연습문제 3개 풀기

1. 3월에 태어난 여성 회원 목록 출력하기 (난이도 2)2. 카테고리 별 상품 개수 구하기 (난이도 2)3. 가격대 별 상품 개수 구하기 (난이도 2) 3월에 태어난 여성 회원 목록 출력하기SELECT MEMBER_ID , MEMBER_NAME , GENDER , DATE_FORMAT(DATE_OF_BIRTH, '%Y-%m-%d') AS DATE_OF_BIRTHFROM MEMBER_PROFILEWHERE EXTRACT(MONTH FROM DATE_OF_BIRTH) = 3 -- MySQL에서는 MONTH() 함수 사용 가능 AND GENDER = 'W' AND TLNO IS NOT NULLORDER BY MEMBER_ID날짜에서 특정 요소 추출하기1. EXTRACT( part..

썸네일 이미지
DAY 39 / [프로그래머스] SQL 연습문제 3개 풀기

1. 입양 시각 구하기(1) (난이도 2)2. DATETIME에서 DATE로 형 변환 (난이도 2)3. 가격이 제일 비싼 식품의 정보 출력하기 (난이도 2) 입양 시각 구하기(1) SELECT HOUR(DATETIME) AS "HOUR" , COUNT(ANIMAL_ID) AS "COUNT"FROM ANIMAL_OUTSWHERE HOUR(DATETIME) BETWEEN 9 AND 19GROUP BY HOUR(DATETIME)ORDER BY HOUR(DATETIME) 1. HOUR(date) vs. DATE_FORMAT(date, '%k')처음에 DATE_FORMAT을 썼다가 이 함수는 문자열을 반환한다는 사실을 알게 되었다. 그래서 아래처럼 정렬이 제대로 안됨. - HOUR 함수는 DATETIM..

썸네일 이미지
DAY 38 / [프로그래머스] SQL 연습문제 9개 풀기

1. 최솟값 구하기 (난이도 2)2. 고양이와 개는 몇 마리 있을까 (난이도 2)3. 동명 동물 수 찾기 (난이도 2)4. 루시와 엘라 찾기 (난이도 2)5. 이름에 el이 들어가는 동물 찾기 (난이도 2) ✍️6. 동물 수 구하기 (난이도 2)7. 중복 제거하기 (난이도 2) ✍️ 8. 중성화 여부 파악하기 (난이도 2)9. NULL 처리하기 (난이도 2) ✍️ 이름에 el이 들어가는 동물 찾기-- 방법 1SELECT ANIMAL_ID , NAMEFROM ANIMAL_INSWHERE ANIMAL_TYPE = 'Dog' AND LOWER(NAME) LIKE '%el%'ORDER BY NAME-- 방법 2 (정규표현식 사용)SELECT ANIMAL_ID , NAMEFROM ANIMAL_..

썸네일 이미지
DAY 37 / [프로그래머스] SQL 연습문제 9개 풀기

1. 이름이 있는 동물의 아이디 (난이도 1)2. 상위 n개 레코드 (난이도 1)3. 여러 기준으로 정렬하기 (난이도 1)4. 동물의 아이디와 이름 (난이도 1)5. 이름이 없는 동물의 아이디 (난이도 1)6. 어린 동물 찾기 (난이도 1)7. 아픈 동물 찾기 (난이도 1)8. 역순 정렬하기 (난이도 1)9. 모든 레코드 조회하기 (난이도 1) 어린 동물 찾기-- 방법 1SELECT ANIMAL_ID , NAMEFROM ANIMAL_INSWHERE INTAKE_CONDITION != 'Aged'ORDER BY ANIMAL_ID-- 방법 2SELECT ANIMAL_ID , NAMEFROM ANIMAL_INSWHERE INTAKE_CONDITION NOT IN ('Aged')ORDER BY ..

SQL 성능 향상을 위한 공부: 1-3) 쿼리 평가엔진에 대하여

쿼리평가 엔진이란?- 사용자로부터 SQL 구문을 입력받아 분석하고- 데이터 접근 절차(실행 계획)를 결정하고 실행하는 모듈이다. 쿼리평가 엔진이 쿼리를 처리하는 흐름쿼리평가 엔진은 사용자로부터 SQL을 입력받은 후, 크게 3단계에 걸쳐 SQL을 처리한다. stage 1. Parser- Parsing: 입력받은 SQL 문(자연어)을 Parse Tree로 번역- Transformation Process: Parse Tree를 전달받아 Query Tree로 번역↓ stage 2. Optimizer시스템 카탈로그에 있는 테이블의 통계 정보를 바탕으로 다양한 실행 계획을 생성한 후, 가장 효율적으로 동작하는 실행 계획을 선택↓ stage 3. Executor (plan evaluation)선택한 실행 계획 순서..

DAY 36 / [프로그래머스] SQL 연습문제 5개 풀기

1. 조건에 맞는 회원수 구하기 (난이도 1)2. 나이 정보가 없는 회원 수 구하기 (난이도 1)3. 경기도에 위치한 식품창고 목록 출력하기 (난이도 1) 4. 강원도에 위치한 생산공장 목록 출력하기 (난이도 1) 5. 최댓값 구하기 (난이도 1) 1. 조건에 맞는 회원수 구하기SELECT COUNT(*) AS USERSFROM USER_INFOWHERE JOINED >= '2021-01-01' AND JOINED 2. 나이 정보가 없는 회원 수 구하기SELECT COUNT(*) AS USERSFROM USER_INFOWHERE AGE IS NULL 3. 경기도에 위치한 식품창고 목록 출력하기SELECT WAREHOUSE_ID , WAREHOUSE_NAME , ADDRESS ..

DAY 35 / [프로그래머스] SQL 연습문제 5개 풀기

1. 과일로 만든 아이스크림 고르기 (난이도 1) 2. 인기있는 아이스크림 (난이도 1) 3. 흉부외과 또는 일반외과 의사 목록 출력하기 (난이도 1)4. 12세 이하인 여자 환자 목록 출력하기 (난이도 1)5. 가장 비싼 상품 구하기 (난이도 1)1. 과일로 만든 아이스크림 고르기SELECT o.FLAVORFROM FIRST_HALF AS oINNER JOIN ICECREAM_INFO AS i ON o.FLAVOR = i.FLAVORWHERE o.TOTAL_ORDER > 3000 AND i.INGREDIENT_TYPE = 'fruit_based'ORDER BY o.TOTAL_ORDER DESC 2. 인기있는 아이스크림SELECT FLAVORFROM FIRST_HALFORDER BY TOTAL_OR..

1 2