SQL (7) 썸네일형 리스트형 MySQL : EXISTS 1. EXISTS (NOT EXIST)EXISTS는 서브쿼리에서 반환된 결과가 존재하는 여부를 확인하는 연산자 입니다. 조건에 맞는지 여부만을 따져 참, 거짓을 반환합니다. 개념을 쉽게 파악하기 위해 프로그래머스에서 예제를 하나 가져와서 설명 해보겠습니다. 이 문제는 업그레이드 할 수 없는 아이테을 구하는 문제입니다. ITEM_TREE 라는 테이블에는 ITEM_ID와 이 아이템의 부모 ID, 즉, ITEM_PARENT_ID가 존재합니다. 만약 ITEM_PARENT_ID가 NULL 이라면 이 아이템은 가장 기본 아이템일 것이고, 만약 어떤 아이템의 ITEM_PARENT_ID가 아닌 아이템은 더 이상 업그레이드 할 수 없는 아이템입니다. 흔히 보는 TREE 문제에서 ROOT, INNER, LEAF 중 LE.. MySQL : Window 1. window 함수 정의 winodw 함수 역시 groupby와 유사한 집계 함수입니다. 하지만 groupby가 특정 group에 대한 집계 값을 나타내는 반면 window는 현재 행을 기준으로 지정한 범위(window)에 있는 행들을 대상으로 집계한 결과를 표현합니다. 즉 groupby가 그룹 별로 1행으로 축소 되는데 비해, window는 원본행은 그대로유지하는 특징이 있습니다. 항목Group ByWindow Function결과 행 수 그룹별 1행으로 축소 원본 행 그대로 유사용 목적그룹 집계 (합계, 평균 등)그룹 내 순위, 누적합계, 이동 집함SUM( ), AVG( ), COUNT( )RANK( ), ROW_NUMBER( ) 등 window 함수의 기본 형태에 대해 알아봅시다. window.. MySQL : GroupBy 1. Group By 구조테이블에서 데이터를 단순히 선택하기 위해서는 select from where 문구를 사용합니다. MySQL workbench에 있는 world.city DB를 이용한 예시입니다. countrycode가 AFG인 데이터만 추출한 결과 입니다. select * from world.citywhere countrycode = 'AFG';IDNameCountryCodeDistrictPopulation1KabulAFGKabol17800002QandaharAFGQandahar2375003HeratAFGHerat1868004Mazar-e-SharifAFGBalkh127800 그런데 만약 country code 별로 인구의 평균은 얼마가 되는지, 또는 지역별 인구의 총 합은 어떻게 되는지와 같.. MySQL 실행순서 MySQL의 실행 순서는 다음과 같습니다.구문순서역할DISTINCT7중복 제거SELECT6WHERE에서 필터링된 데이터에서 선택할 컬럼 선언 FROM1데이터를 불러올 테이블 지정ON2JOIN 조건 평가WHERE3테이블에서 불러올 데이터의 조건 지정GROUP BY4SELECT의 컬럼 데이터의 그룹화 HAVING5그룹화된 데이터들에 대한 필터 ORDER BY8SELECT 된 컬럼들의 정렬 순서LIMIT9출력 제한 https://datathings.tistory.com/62 20 번의 평균 연봉 조회하기 문제를 보면, GROUP BY 에서 선택하지 않은 컬럼이 SELECT에서 선택된 것을 볼 수 있습니다. 만약 GROUP BY의 실행 순서가 더 먼저라면, GROUP에 포함되지 않은 컬럼을 집계 함수 사용 없.. [프로그래머스] MySQL : GroupBy https://school.programmers.co.kr/learn/courses/30/lessons/151139 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1. 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기- START_DATE 기준으로 특정 기간 동안의 대여 횟수를 계산- 대여 횟수 기준을 만족하는 CAR_ID를 CAR_LIST 테이블에 저장- 월별, CAR_ID 별 대여 횟수를 집계해야 함. 달을 표현하기 위해 MONTH 명령어 사용 - GROUP BY 적용 결과에 대한 조건문은 HAVING을 사용 - SELECT FROM 의 경우에는 WHERE를 사용 WITH CAR_LIST AS (SELE.. [프로그래머스] MySQL : Join https://school.programmers.co.kr/learn/courses/30/parts/17046 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr1. 주문량이 많은 아이스크림들 조회하기- 두 테이블에 존재하는 주문량을 합치기 위해 join- 동일한 flavor에 대해 여러 shipment가 존재하는경우 group by로 전체 주문량 합산 - 주문량 내림 차순 및 상위 특정갯수 선택 SELECT F.FLAVOR FROM FIRST_HALF AS FJOIN (SELECT FLAVOR, SUM(TOTAL_ORDER) AS TOTAL_ORDERFROM JULY GROUP BY FLAVOR) AS J ON.. Data & Database 기본 개념 소개데이터베이스 (Database) : 데이터베이스는 정보를 체계적으로 저장하고 관리하는 공간입니다. 쉽게 말해서, 많은 데이터를 정리해서 보관하는 전자 파일이라고 생각하면 됩니다. 예를 들어, 학교의 학생 정보나 쇼핑몰의 상품 목록을 정리해놓은 표 같은걸 말합니다. 데이터베이스는 보통 표 형식으로 구성되어 있어서, 행(row)은 개별 항목을, 열(column)은 항목의 속성을 나타냅니다. 이런 구조 덕분에 원하는 정보를 빠르게 찾거나 수정할 수 있습니다. DBMS (Database Management System) : 데이터베이스를 관리하는 소프트웨어가 DBMS 입니다. 데이터베이스를 관리한다는 것은 데이터베이스 안에 데이터를 저장하고, 필요한 데이터를 꺼내 보고, 저장된 데이터를 수정하거.. 이전 1 다음