sql 66

[RDBMS] 파생 테이블과 공통 테이블 표현식

개요관계형 데이터베이스에서 복잡한 쿼리를 작성할 때, 임시적으로 쿼리 결과를 재사용하거나 여러 단계로 나누어 데이터를 처리하는 방법은 다음과 같음 파생 테이블(Derived Table)공통 테이블 표현식(CTE, Common Table Expression 1. 파생 테이블 (Derived Table)파생 테이블이란, FROM절에 직접 쿼리(SELECT문)를 작성하여 만들어지는 임시 테이블을 의미해당 테이블은 쿼리 실행 시점에만 존재하며, 별칭을 반드시 부여해야 함파생 테이블의 특징은 다음과 같음 쿼리 내부에서만 사용되는 일회성 임시 테이블FROM절에서만 정의할 수 있고, 쿼리의 나머지 부분에서만 접근 가능복잡한 쿼리를 쪼개서 읽기 쉽게 만들거나, 집계 결과를 다시 활용할 때 주로 사용중첩 사용(파생 테이..

DB 2025.05.12

[RDBMS] JOIN 성능

1. JOIN vs 서브 쿼리JOIN은 두 개 이상의 테이블을 논리적으로 연결해서, 관련된 데이터를 한 번에 조회할 수 있도록 해주는 SQL의 대표적인 기능i.g. 회원 테이블과 주문 테이블이 따로 있을 때, 회원의 이름과 해당 회원이 주문한 상품 목록을 함께 보고 싶다면 JOIN을 사용JOIN은 여러 테이블의 레코드를 조합하여 복합적인 데이터(복합 프로젝션)를 만드는 데 매우 효율적여러 테이블의 데이터를 결합해야 할 때, 복합적인 결과 셋이 필요할 때, 그리고 결과에서 여러 테이블의 컬럼이 동시에 필요할 때 권장JOIN은 복합적인 데이터 결합에 효율적이지만, 불필요하게 사용할 경우 성능 저하나 복잡도 증가로 이어질 수 있음 서브 쿼리는 쿼리 안에 또 다른 쿼리가 들어 있는 구조서브 쿼리는 주로 데이..

DB 2025.05.12

[Programmers] 분기별 분화된 대장균의 개체 수 구하기

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/299308 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr MySQL을 이용하여 풀었습니다.   개발환경: Programmers IDE   지적, 조언, 질문 환영합니다! 질문 남겨주세요~

[Programmers] 연도별 대장균 크기의 편차 구하기

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/299310 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr MySQL을 이용하여 풀었습니다. 주어진 문제를 두 단계로 나누어 풀었습니다. 연도와 연도별 가장 큰 대장균의 크기를 매핑한 테이블을 생성하고 (MAX_SIZE_OF_COLONY_PER_YEAR) 해당 테이블과 주어진 ECOLI_DATA를 JOIN 하여 ID, 연도, 분화된 연도별 대장균 크기의 편차를 매핑한 테이블을 생성했습니다. (ECOLI_YEAR_DATA) 개발환경: P..

[Programmers] 특정 형질을 가지는 대장균 찾기

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/301646 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr MySQL을 이용하여 풀었습니다. 비트 연산을 이용하면 쉽게 풀 수 있는 문제였습니다. 개발환경: Programmers IDE 지적, 조언, 질문 환영합니다! 질문 남겨주세요~

[Programmers] 부모의 형질을 모두 가지는 대장균 찾기

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/301647 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr MySQL을 이용해 풀었습니다. 비트 연산을 통해 풀어야 하는 문제였습니다. [자식의 개체 형질] & [부모의 개체 형질] = [부모의 개체 형질]이어야 조건 성립 개발환경: Programmers IDE 지적, 조언, 질문 환영합니다! 질문 남겨주세요~

[Programmers] 대장균의 크기에 따라 분류하기 2

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/301649 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr MySQL을 이용하여 풀었습니다. 대장균의 크기 그룹을 NTILE 문법을 이용해 분류하고 분류한 결과를 토대로 COLONY_NAME을 부여했습니다. 개발환경: Programmers IDE 지적, 조언, 질문 환영합니다! 질문 남겨주세요~

[Programmers] 특정 세대의 대장균 찾기

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/301650 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 멸종위기의 대장균 찾기 문제와 같이 재귀 쿼리를 이용해 각 대장균의 세대를 정의한 테이블(ECOLI_GENERATIONS)을 정의 후 3세대에 포함된 ID들을 출력하는 문제였습니다. MySQL을 이용하여 풀었습니다. 개발환경: Programmers IDE 지적, 조언, 질문 환영합니다! 질문 남겨주세요~ 멸종기의 대장균 찾기

[Programmers] Python 개발자 찾기

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/276013 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 간단한 SELECT문 작성 문제였습니다. MySQL을 이용하여 풀었습니다. 개발환경: Programmers IDE 지적, 조언, 질문 환영합니다! 질문 남겨주세요~ 반응형

[Programmers] 식품분류별 가장 비싼 식품의 정보 조회하기

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/131116 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 서브 쿼리를 통해 풀 수 있는 문제였습니다. MySQL을 이용하여 풀었습니다. 개발환경: Programmers IDE 지적, 조언, 질문 환영합니다! 질문 남겨주세요~