본문 바로가기

SQL Kit

업그레이드 된 아이템 구하기 [ 프로그래머스 | SQL Kit | Level 2 ] 1. 문제목적서브쿼리를 활용하여 데이터를 조작하는 SQL 작성 능력을 학습하기 위한 것이다.INNER JOIN을 통한 테이블 간의 데이터 관계 연결.IN 서브쿼리를 활용하여 특정 조건에 맞는 데이터 필터링.ORDER BY를 사용하여 결과를 정렬하는 방법.2. 핵심개념INNER JOIN정의: 두 테이블을 조인하여 공통된 기준으로 데이터를 결합.SELECT *FROM table1INNER JOIN table2ON table1.key = table2.key;특징:부모-자식 관계의 데이터를 연결하는 데 적합.두 테이블의 공통 데이터만 반환.서브쿼리와 IN정의: 메인 쿼리의 조건에 포함되는 하위 쿼리SELECT *FROM tableWHERE column IN (SELECT column FROM table WHER.. 더보기
재구매가 일어난 상품과 회원 리스트 구하기 [ 프로그래머스 | SQL Kit | Level 2 ] 1. 문제목적특정 사용자가 같은 상품을 재구매한 기록을 확인하는 SQL 쿼리를 작성하면서 GROUP BY, HAVING, COUNT 함수의 활용을 익히는 것이다.GROUP BY를 사용한 데이터 그룹화HAVING 절을 활용한 그룹 조건 필터링2. 핵심개념GROUP BY 절데이터의 특정 컬럼을 기준으로 그룹화할 때 사용된다.사용법: GROUP BY 컬럼명예: GROUP BY USER_ID, PRODUCT_ID는 사용자와 상품별로 데이터를 그룹화한다.HAVING 절그룹화된 데이터에 조건을 적용할 때 사용된다.사용법: HAVING 조건예: HAVING COUNT(*) > 1는 그룹 내 데이터 개수가 1을 초과하는 경우만 필터링한다.COUNT() 함수그룹 내 데이터의 개수를 반환한다.사용법: COUNT(컬럼명) .. 더보기
3월에 태어난 여성 회원 목록 출력하기 [ 프로그래머스 | SQL Kit | Level 2 ] 1. 문제목적특히 조건문(WHERE)과 날짜 처리 함수(MONTH), 결과 정렬(ORDER BY)을 활용하는 방법을 익히는 데 목적이 있다.WHERE 절을 통한 조건 필터링MONTH 함수를 사용한 특정 달의 데이터 추출ORDER BY 절을 사용한 정렬DATE_FORMAT을 활용한 날짜 데이터 출력 형식 변환NULL 값 필터링2. 핵심개념WHERE 절특정 조건에 맞는 데이터를 필터링하는 데 사용된다.예: WHERE GENDER = 'W'는 성별이 여성인 데이터를 필터링한다.MONTH() 함수날짜 데이터에서 월(month)을 추출하는 데 사용된다.사용법: MONTH(컬럼명)예: MONTH(DATE_OF_BIRTH) = 3는 3월에 태어난 데이터를 필터링한다.DATE_FORMAT() 함수날짜를 지정된 형식으로.. 더보기
특정 형질을 가지는 대장균 찾기 [ 프로그래머스 | SQL Kit | Level 1 ] 1. 문제목적이 문제의 목적은 SQL에서 비트 연산자를 사용하여 특정 조건을 만족하는 데이터를 필터링하고, 필터링된 데이터를 집계하는 방법을 학습하는 것이다. 이 과정에서 아래의 SQL 개념을 학습할 수 있다:비트 연산자 AND (&): 데이터의 비트 값을 조작하거나 비교하는 방법.OR 조건: 복합적인 조건을 결합하여 데이터를 필터링하는 방법.COUNT 함수: 조건을 만족하는 행의 개수를 집계.WHERE 절: 조건을 기반으로 데이터 필터링.2. 핵심개념비트 연산자SQL에서 비트 연산자는 데이터의 비트를 기반으로 비교를 수행할 때 사용된다.AND 연산자 (&): 두 비트가 모두 1일 때 결과가 1이 된다.GENOTYPE & 2 = 0은 GENOTYPE 값의 두 번째 비트가 0인지 확인한다.GENOTYPE .. 더보기
가장 큰 물고기 10마리 구하기 [ 프로그래머스 | SQL Kit | Level 1 ] 1. 문제목적데이터를 정렬하고 상위 N개의 데이터를 추출하는 방법을 학습하는 것이다.ORDER BY: 데이터를 정렬하는 방법.LIMIT: 특정 개수만큼의 데이터를 추출하는 방법.NULL 처리: NULL 값을 제외하거나 포함하는 방법.우선순위 결정: 동일한 값이 있을 때 정렬 순서를 조정하는 방법.2. 핵심개념ORDER BYORDER BY는 데이터를 특정 컬럼을 기준으로 정렬하는 데 사용된다.기본적으로 오름차순(ASC) 정렬을 수행하며, 내림차순(DESC)으로도 정렬 가능하다.여러 컬럼을 기준으로 정렬할 수 있다.SELECT * FROM table_name ORDER BY column_name [ASC|DESC];LIMITLIMIT은 결과에서 반환할 행의 개수를 제한하는 데 사용된다. 사용법:SELECT .. 더보기
잔챙이 잡은 수 구하기 [ 프로그래머스 | SQL Kit | Level 1 ] 1. 문제목적WHERE 절: 특정 조건을 만족하는 데이터를 필터링하기 위해 사용.NULL 처리: NULL 값을 다루는 방법.COUNT 함수: 특정 조건을 만족하는 데이터의 개수를 구하는 방법.AS 키워드: 결과 컬럼 이름을 변경하는 방법.2. 핵심개념WHERE 절WHERE는 데이터베이스에서 특정 조건을 만족하는 데이터를 필터링할 때 사용된다.SELECT column_name FROM table_name WHERE condition;NULL 처리NULL 값은 데이터가 존재하지 않음을 의미한다.NULL과 비교할 때는 IS NULL 또는 IS NOT NULL 조건을 사용해야 한다.WHERE column_name IS NULL;COUNT 함수COUNT는 특정 조건을 만족하는 행의 수를 계산하는 집계 함수이다.S.. 더보기
한 해에 잡은 물고기 수 구하기 [ 프로그래머스 | SQL Kit | Level 1 ] 1. 문제 목적날짜 데이터에서 연도를 추출하여 특정 연도에 해당하는 데이터를 필터링하고 COUNT 함수로 조건에 맞는 행의 개수를 계산하는 기술을 익히는 데 목적이 있습니다.2. 핵심 개념2.1 WHERE 절정의: 특정 조건에 맞는 데이터를 필터링하는 데 사용됩니다.SELECT 열이름FROM 테이블이름WHERE 조건;예: WHERE YEAR(TIME) = 2021는 TIME 열에서 연도가 2021인 데이터를 필터링합니다.2.2 YEAR 함수정의: 날짜 데이터에서 연도 값을 추출하는 함수입니다.SELECT YEAR('2021-12-04'); -- 결과: 2021날짜 열에서 연도를 추출해 조건으로 사용할 수 있습니다.2.3 COUNT 함수정의: 조건에 맞는 데이터의 행 개수를 반환합니다.SELECT COUN.. 더보기
자동차 대여 기록에서 장기/단기 대여 구분하기 [ 프로그래머스 | SQL Kit | Level 1 ] 1. 문제 목적날짜 처리 함수와 조건문(CASE)을 활용하여 데이터를 필터링하고 분류하는 방법을 학습하기 위한 것입니다. DATEDIFF를 사용하여 날짜 차이를 계산하고 CASE를 이용해 데이터를 조건에 따라 분류하며 DATE_FORMAT으로 출력 형식을 원하는 대로 변경하는 방법을 배우는 것이 목적입니다.2. 핵심 개념DATEDIFF 함수정의: 두 날짜 간의 차이를 일(day) 단위로 계산하는 함수입니다SELECT DATEDIFF('2022-12-31', '2022-12-01'); -- 결과: 30종료일(END_DATE)과 시작일(START_DATE)을 인자로 전달합니다.결과값은 두 날짜 사이의 일수입니다.2.2 CASE문정의: SQL에서 조건에 따라 결과를 다르게 반환하는 분기문입니다.SELECT .. 더보기