본문 바로가기

SQL15

[프로그래머스 스쿨_SQL] 오프라인/온라인 판매 데이터 통합하기 ONLINE_SALE 테이블과 OFFLINE_SALE 테이블에서 2022년 3월의 오프라인/온라인 상품 판매 데이터의 판매 날짜, 상품ID, 유저ID, 판매량을 출력하는 SQL문을 작성해주세요. OFFLINE_SALE 테이블의 판매 데이터의 USER_ID 값은 NULL 로 표시해주세요. 결과는 판매일을 기준으로 오름차순 정렬해주시고 판매일이 같다면 상품 ID를 기준으로 오름차순, 상품ID까지 같다면 유저 ID를 기준으로 오름차순 정렬해주세요. (SELECT DATE_FORMAT(SALES_DATE, '%Y-%m-%d') AS SALES_DATE, PRODUCT_ID, USER_ID, SALES_AMOUNT FROM ONLINE_SALE WHERE DATE_FORMAT(SALES_DATE, '%m') = .. 2023. 7. 28.
[프로그래머스 스쿨_SQL] 서울에 위치한 식당 목록 출력하기 REST_INFO와 REST_REVIEW 테이블에서 서울에 위치한 식당들의 식당 ID, 식당 이름, 음식 종류, 즐겨찾기수, 주소, 리뷰 평균 점수를 조회하는 SQL문을 작성해주세요. 이때 리뷰 평균점수는 소수점 세 번째 자리에서 반올림 해주시고 결과는 평균점수를 기준으로 내림차순 정렬해주시고, 평균점수가 같다면 즐겨찾기수를 기준으로 내림차순 정렬해주세요. SELECT A.REST_ID, A.REST_NAME, A.FOOD_TYPE, A.FAVORITES, A.ADDRESS, ROUND(AVG(B.REVIEW_SCORE), 2) AS SCORE FROM REST_INFO A INNER JOIN REST_REVIEW B ON A.REST_ID = B.REST_ID WHERE ADDRESS LIKE '서울%.. 2023. 7. 28.
[SQL] DAY 12. 데이터 및 데이블 조작 1. 데이터 조작 1-1. 데이터 삽입 문법 01. 완전한 행 삽입 INSERT INTO 테이블명 VALUES (값1, 값2, 값3); 문법 02. 열 이름과 함께 삽입 INSERT INTO 테이블명(열 이름1, 열 이름2, 열 이름3) VALUES (값1, 값2, 값3); 문법 03. 부분 행 삽입 INSERT INTO 테이블명(열 이름1, 열 이름3) SELECT 열 이름1, 열 이름2, 열 이름3 FROM 테이블명2 WHERE 조건절; 문법 04. SQL 문장 결과를 삽입 INSERT INTO 테이블명1(열 이름1, 열 이름2, 열 이름3) SELECT 열 이름1, 열 이름2, 열 이름3 FROM 테이블명2 WHERE 조건절; 1-2. 데이터 삭제 문법 01. 테이블의 모든 행 삭제 DELETE F.. 2023. 5. 6.
[SQL] DAY 11. 하위 쿼리 1. 하위 쿼리의 이해 1-1. FROM절의 하위 쿼리 문법 01. 조건에 맞는 대상자 선정 후 요약할 때 SELECT 열 이름1, 열 이름2 FROM (SELECT * FROM 테이블명 WHERE 조건절) AS 별칭 WHERE 조건절; 문법 02. 테이블 조인을 할 때 SELECT 별칭1.열 이름1, 별칭2.열 이름2 FROM 테이블명1 AS 별칭1 LEFT OUTER JOIN (SELECT 열 이름1, 열 이름2 FROM 테이블명2 WHERE 조건절) AS 별칭2 ON 별칭1.KEY=별칭2.KEY; 1-2. WHERE 조걸절의 하위 쿼리 문법 01. IN을 사용한 WHERE 조건절의 하위 쿼리 SELECT 열 이름1, 열 이름2 FROM 테이블명1 WHERE 열 이름 IN (SELECT 열 이름 FR.. 2023. 5. 6.
[SQL] DAY 10. 테이블 합치기 1. 열(Column) 합치기 1-1. 내부조인 문법 01. FROM/WHERE를 사용 SELECT 테이블명1.열 이름1, 테이블명2.열 이름2 FROM 테이블명1, 테이블명2 WHERE 테이블명1.KEY=테이블명2.KEY; 문법 02. FROM/WHERE와 별칭을 사용 SELECT 별칭1.열 이름1, 별칭2.열 이름2 FROM 테이블명1 AS 별칭1, 테이블명2 AS 별칭2 WHERE 별칭1.KEY=별칭2.KEY; 문법 03.INNER JOIN을 사용 SELECT 테이블명1.열 이름1, 테이블명2.열 이름2 FROM 테이블명1 INNER JOIN 테이블명2 ON 테이블명1.KEY=테이블명2.KEY; 문법 04. INNER JOIN과 별칭을 사용 SELECT 별칭1.열이름1, 별칭2.열 이름2 FROM .. 2023. 5. 1.
[SQL] DAY 09. 데이터의 그룹화, 필터링 1. 데이터의 그룹화 문법 01. 열 이름으로 그룹화 SELECT 그룹화할 열 이름1, 그룹화할 열 이름2, 집계 함수 FROM 테이블명 WHERE 조건절 GROUP BY 열 이름1, 열 이름2; 문법 02. 열 위치로 그룹화 SELECT 그룹화할 열 이름1, 그룹화할 열 이름2, 집계 함수 FROM 테이블명 WHERE 조건절 GROUP BY 1, 2; 2. 그룹화된 데이터의 필터링 '특정한 테이블에서 특정한 조건을 만족하는 데이터를 추출한 후 특정한 조건을 만족한 그룹화된 특정 열 및 집계 함수를 나타내라'는 뜻이다. 그룹화된 변수에 특정한 조건을 줄 경우 HAVING을 사용한다. 문법 01. 그룹화 데이터 필터링하기 SELECT 그룹화할 열 이름1, 집계 함수 FROM 테이블명 WHERE 조건절 GR.. 2023. 5. 1.