SQL 20

[프로그래머스] 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기- 164671

[MySQL] 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/164671 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  문제 설명다음은 중고거래 게시판 정보를 담은 USED_GOODS_BOARD 테이블과 중고거래 게시판 첨부파일 정보를 담은 USED_GOODS_FILE 테이블입니다. USED_GOODS_BOARD 테이블은 다음과 같으며 BOARD_ID, WRITER_ID, TITLE, CONTENTS, PRICE, CREATED_DATE, STATUS, VIEWS은 게시글 ID, ..

SQL 스터디 4회차 정리

BigQuery 쿼리문 구조WITH CTE AS( SELECT col, col2, FROM Table ) -- 메인쿼리 SELECT a.col3, b.col4, COUNT(DISTINCTa.id) AS cnt FROM table_a AS a LEFT JOIN table_b AS b ON a.id=b.id WHERE a.col3 >= 3 GROUP BY a.col3, b.col4 HAVING cnt>=2 ORDER BY cnt DESC LIMIT 10 CTE는 쿼리를 작성할 때 재사용하기 위해 임시로 데이터를 저장하는 테이블 역할을 합니다.- WITH 키워드로 시작하며, 이름은 CTE입니다.- 이 CTE에서는 Table이라는 원본 테이블에서 col과 col2 열만 선택했습니다.- 이 C..

SQL 스터디 3회차 정리

- JOIN:여러 TABLE 을 연결해야 할 때 사용하는 문법- Key: 공통적으로 가지고 있는 컬럼 JOIN종류-INNER-LEFT/RIGHT-FULL-CROSS JOIN을  집합관점으로 생각하기1) 여러 JOIN 중 어떤것을 사용해야 할까?- 하려고 하는 작업의 목적에 따라 JOIN을 선택해 보기- 교집합: INNER- 모두 다 조합: CROSS- 그게 아니라면 LEFT 또는 RIGHT: LEFT를 추천, 하나를 계속 활용하는 것을 추천- 쿼리 작성 템플릿에 예상하는 결과를 작성하고, 중간결과도 생각하면서 찾아보기 2) 어떤 Table을 왼쪽에 두고, 어떤 Table이 오른쪽에 가야할까?- LEFT JOIN의 경우- 기준이 되는 Table을 왼쪽에 두기- 기준에는 기준값이 존재하고,우측에 데이터를 계..

SQL 스터디 2회차 정리

기본적인 SQL 조회구조SELECT 컬럼FROM 테이블JOIN 조인WHERE 조건GROUP BY 그룹칼럼HAVING 그룹조건ORDER BY 정렬조건LIMIT 출력개수; UPPER 함수대문자로 변환해주는 함수이다.SELECT UPPER(문자) FROM 테이블; UPPER 함수 예제--"HELLO"SELECT UPPER('hello') FROM DUAL;   LOWER 함수소문자로 변환해주는 함수이다.LOWER(문자) LOWER 함수 예제--"hello"SELECT LOWER('HELLO') FROM DUAL;      INITCAP 함수이니셜만 대문자로 변환하는 함수이다.INITCAP(문자) INITCAP 함수 예제--"Hello"SELECT INITCAP('hello') FROM DUAL;   LENGT..

[프로그래머스] 자동차 대여 기록에서 장기/단기 대여 구분하기 - 151138

[MySQL] 자동차 대여 기록에서 장기/단기 대여 구분하기 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/151138 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 설명다음은 어느 자동차 대여 회사의 자동차 대여 기록 정보를 담은 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블입니다. CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블은 아래와 같은 구조로 되어있으며, HISTORY_ID, CAR_ID, START_DATE, END_DATE 는 각각 자동차 대여 기록 ID, 자동차 ID, 대여 시..

[프로그래머스] 자동차 평균 대여 기간 구하기 - 157342

[MySQL] 자동차 평균 대여 기간 구하기 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/157342 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 설명다음은 어느 자동차 대여 회사의 자동차 대여 기록 정보를 담은 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블입니다. CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블은 아래와 같은 구조로 되어있으며, HISTORY_ID, CAR_ID, START_DATE, END_DATE 는 각각 자동차 대여 기록 ID, 자동차 ID, 대여 시작일, 대여 종료..

SQL 스터디 1회차 정리

Big Query란? GoogleCloud의 데이터 웨어하우스 1.난이도: SQL를 사용해 쉽게 데이터 추출가능2.속도: OLAP도구 이므로 속도가 빠름 (단, 그만큼 돈을 지불)3.Firebase, GoogleAnalytics4의 데이터를 쉽게 추출할 수 있음4.데이터웨어하우스를 사용하기 위해 서버(컴퓨터)를 띄울 필요 없음 (구글에서 인프라를 관리)실시간 분석, 대규모 데이터 저장 및 기존 Google 서비스와의 통합이 필요한 비즈니스에 이상적 BigQuery를사용하는이유- 회사에서 앱이나 웹에서 Firebase, GA4를 활용할 경우- 운영을 적은 비용 (인력등) 으로 진행하기 위해- 사용하는회사: 쏘카, 당근, 컬리,하이퍼커넥트, 마이리얼트립, 버드뷰, 원티드랩 등 BigQuery의 환경 구성 요..

[프로그래머스] 조건에 맞는 사원 정보 조회하기 - 284527

[MySQL] 조건에 맞는 사원 정보 조회하기 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/284527 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 설명HR_DEPARTMENT 테이블은 회사의 부서 정보를 담은 테이블입니다. HR_DEPARTMENT 테이블의 구조는 다음과 같으며 DEPT_ID, DEPT_NAME_KR, DEPT_NAME_EN, LOCATION은 각각 부서 ID, 국문 부서명, 영문 부서명, 부서 위치를 의미합니다. HR_EMPLOYEES 테이블은 회사의 사원 정보를 담은 테이블입니다.HR_EMPLOYEES 테이블..

[프로그래머스] 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 - 157340

[MySQL] 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/157340 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 설명다음은 어느 자동차 대여 회사의 자동차 대여 기록 정보를 담은 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블입니다. CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블은 아래와 같은 구조로 되어있으며, HISTORY_ID, CAR_ID, START_DATE, END_DATE 는 각각 자동차 대여 기록 ID, 자동차 ID..

[프로그래머스] 취소되지 않은 진료 예약 조회하기 - 132204

[MySQL] 취소되지 않은 진료 예약 조회하기 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/132204 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 설명다음은 환자 정보를 담은 PATIENT 테이블과 의사 정보를 담은 DOCTOR 테이블, 그리고 진료 예약목록을 담은 APPOINTMENT에 대한 테이블입니다. PATIENT 테이블은 다음과 같으며 PT_NO, PT_NAME, GEND_CD, AGE, TLNO는 각각 환자번호, 환자이름, 성별코드, 나이, 전화번호를 의미합니다. DOCTOR 테이블은 다음과 같으며 DR_NAME, ..