SQL코딩테스트 77

[StrataScratch - SQL] (Easy) Salaries Differences

문제 마케팅과 엔지니어링 부서의 최고 연봉 차이를 계산하세요.출력은 연봉 차이의 절대값만 출력하세요. 테이블설명 ✏️ 풀이SELECT ABS( MAX(CASE WHEN d.department = 'engineering' THEN e.salary END) - MAX(CASE WHEN d.department = 'marketing' THEN e.salary END)) AS salary_differenceFROM db_employee AS eINNER JOIN db_dept AS d ON e.department_id = d.idWHERE d.department = "engineering" OR d.department = "marketing";1. db_employ..

[StrataScratch - SQL] (Easy) Finding Updated Records

문제직원들과 그들의 급여가 포함된 테이블이 있지만, 일부 기록은 오래되어 outdated 급여 정보가 포함되어 있습니다. 각 직원의 현재 급여를 찾으세요. 급여는 매년 증가한다고 가정합니다. 직원 ID, 이름, 성, 부서 ID, 그리고 현재 급여를 출력하세요. 출력은 직원 ID를 기준으로 오름차순으로 정렬하세요. 테이블설명 예시 ✏️ 풀이SELECT id, first_name, last_name, department_id, MAX(salary) AS salaryFROM ms_employee_salaryGROUP BY 1, 2, 3, 4ORDER BY 1;1. 급여는 매년 증가하기 때문에 MAX(salary)를 뽑는다2. id, first_name, last_name, department_id를 모두 출력..

[LeetCode - SQL] (Easy) 3436. Find Valid Emails

Table: Users+-----------------+---------+| Column Name | Type |+-----------------+---------+| user_id | int || email | varchar |+-----------------+---------+ (user_id)는 이 테이블의 고유 키입니다.테이블의 각 행은 사용자의 고유 ID와 이메일 주소를 포함합니다.  문제유효한 이메일 주소를 모두 찾는 SQL 쿼리를 작성하세요.유효한 이메일 주소는 다음 조건을 만족해야 합니다:- 정확히 하나의 @ 기호가 포함되어야 합니다.- .com으로 끝나야 합니다.- @ 기호 앞부분은 알파벳, 숫자, 밑줄(_)만 포함할 수 있습니다.- @..

[LeetCode - SQL] (Easy) 3465. Find Products with Valid Serial Numbers

Table: products+--------------+------------+| Column Name | Type |+--------------+------------+| product_id | int || product_name | varchar || description | varchar |+--------------+------------+(product_id)는 이 테이블의 고유 키입니다.테이블의 각 행은 고유한 ID, 이름, 설명을 가진 하나의 제품을 나타냅니다. 문제제품 설명(description)에 유효한 일련번호(Serial Number) 패턴이 포함된 모든 제품을 찾는 SQL 쿼리를 작성하세요.유효한 일련번호는 다음 규칙을 따릅니다:1. 대소문자..

[프로그래머스 Lv.5] 멸종위기의 대장균 찾기

문제 설명 대장균들은 일정 주기로 분화하며, 분화를 시작한 개체를 부모 개체, 분화가 되어 나온 개체를 자식 개체라고 합니다. 다음은 실험실에서 배양한 대장균들의 정보를 담은 ECOLI_DATA 테이블입니다. ECOLI_DATA 테이블의 구조는 다음과 같으며, ID, PARENT_ID, SIZE_OF_COLONY, DIFFERENTIATION_DATE, GENOTYPE 은 각각 대장균 개체의 ID, 부모 개체의 ID, 개체의 크기, 분화되어 나온 날짜, 개체의 형질을 나타냅니다. 최초의 대장균 개체의 PARENT_ID 는 NULL 값입니다.  문제 각 세대별 자식이 없는 개체의 수(COUNT)와 세대(GENERATION)를 출력하는 SQL문을 작성해주세요. 이때 결과는 세대에 대해 오름차순 정렬해주세..

[프로그래머스 Lv.5] 상품을 구매한 회원 비율 구하기

문제 설명 다음은 어느 의류 쇼핑몰에 가입한 회원 정보를 담은 USER_INFO 테이블과 온라인 상품 판매 정보를 담은 ONLINE_SALE 테이블 입니다. USER_INFO 테이블은 아래와 같은 구조로 되어있으며 USER_ID, GENDER, AGE, JOINED는 각각 회원 ID, 성별, 나이, 가입일을 나타냅니다. GENDER 컬럼은 비어있거나 0 또는 1의 값을 가지며 0인 경우 남자를, 1인 경우는 여자를 나타냅니다. ONLINE_SALE 테이블은 아래와 같은 구조로 되어있으며 ONLINE_SALE_ID, USER_ID, PRODUCT_ID, SALES_AMOUNT, SALES_DATE는 각각 온라인 상품 판매 ID, 회원 ID, 상품 ID, 판매량, 판매일을 나타냅니다. 동일한 날짜, 회..

[프로그래머스 Lv.4] 특정 세대의 대장균 찾기

문제 설명 대장균들은 일정 주기로 분화하며, 분화를 시작한 개체를 부모 개체, 분화가 되어 나온 개체를 자식 개체라고 합니다.다음은 실험실에서 배양한 대장균들의 정보를 담은 ECOLI_DATA 테이블입니다. ECOLI_DATA 테이블의 구조는 다음과 같으며, ID, PARENT_ID, SIZE_OF_COLONY, DIFFERENTIATION_DATE, GENOTYPE 은 각각 대장균 개체의 ID, 부모 개체의 ID, 개체의 크기, 분화되어 나온 날짜, 개체의 형질을 나타냅니다. 최초의 대장균 개체의 PARENT_ID 는 NULL 값입니다.  문제 3세대의 대장균의 ID(ID) 를 출력하는 SQL 문을 작성해주세요. 이때 결과는 대장균의 ID 에 대해 오름차순 정렬해주세요.  예시 예를 들어 ECOLI_..

[프로그래머스 Lv.4] 연간 평가점수에 해당하는 평가 등급 및 성과금 조회하기

문제 설명 HR_DEPARTMENT 테이블은 회사의 부서 정보를 담은 테이블입니다. HR_DEPARTMENT 테이블의 구조는 다음과 같으며 DEPT_ID, DEPT_NAME_KR, DEPT_NAME_EN, LOCATION은 각각 부서 ID, 국문 부서명, 영문 부서명, 부서 위치를 의미합니다. HR_EMPLOYEES 테이블은 회사의 사원 정보를 담은 테이블입니다. HR_EMPLOYEES 테이블의 구조는 다음과 같으며 EMP_NO, EMP_NAME, DEPT_ID, POSITION, EMAIL, COMP_TEL, HIRE_DATE, SAL은 각각 사번, 성명, 부서 ID, 직책, 이메일, 전화번호, 입사일, 연봉을 의미합니다. HR_GRADE 테이블은 2022년 사원의 평가 정보를 담은 테이블입니다. ..

[프로그래머스 Lv.4] 언어별 개발자 분류하기

문제 설명 SKILLCODES 테이블은 개발자들이 사용하는 프로그래밍 언어에 대한 정보를 담은 테이블입니다. SKILLCODES 테이블의 구조는 다음과 같으며, NAME, CATEGORY, CODE는 각각 스킬의 이름, 스킬의 범주, 스킬의 코드를 의미합니다. 스킬의 코드는 2진수로 표현했을 때 각 bit로 구분될 수 있도록 2의 제곱수로 구성되어 있습니다. DEVELOPERS 테이블은 개발자들의 프로그래밍 스킬 정보를 담은 테이블입니다. DEVELOPERS 테이블의 구조는 다음과 같으며, ID, FIRST_NAME, LAST_NAME, EMAIL, SKILL_CODE는 각각 개발자의 ID, 이름, 성, 이메일, 스킬 코드를 의미합니다. SKILL_CODE 컬럼은 INTEGER 타입이고, 2진수로 표현..

[프로그래머스 Lv.4] FrontEnd 개발자 찾기

문제 설명 SKILLCODES 테이블은 개발자들이 사용하는 프로그래밍 언어에 대한 정보를 담은 테이블입니다. SKILLCODES 테이블의 구조는 다음과 같으며, NAME, CATEGORY, CODE는 각각 스킬의 이름, 스킬의 범주, 스킬의 코드를 의미합니다. 스킬의 코드는 2진수로 표현했을 때 각 bit로 구분될 수 있도록 2의 제곱수로 구성되어 있습니다. DEVELOPERS 테이블은 개발자들의 프로그래밍 스킬 정보를 담은 테이블입니다. DEVELOPERS 테이블의 구조는 다음과 같으며, ID, FIRST_NAME, LAST_NAME, EMAIL, SKILL_CODE는 각각 개발자의 ID, 이름, 성, 이메일, 스킬 코드를 의미합니다. SKILL_CODE 컬럼은 INTEGER 타입이고, 2진수로 표현..