반응형

Back-end 46

[SQL로 하는 데이터 관리] 01. 데이터베이스와 테이블 구축

데이터베이스와 테이블 생성 과제 2 한 분식집의 메뉴들의 정보를 저장하기 위해 food_menu 테이블을 준비했다고 합시다. INSERT INTO 문을 사용해서 아래 메뉴 정보들을 테이블에 채워보세요. (라볶이 / 5000 / 라면, 떡, 양파..) (치즈김밥 / 3000 / 치즈, 김, 단무지..) (돈까스 / 8000 / 국내산 돼지고기, 양배추..) (오므라이스 / 7000 / 계란, 당근..) id 컬럼에는 현재 AUTO_INCREMENT 속성이 적용되어 있기 때문에 굳이 값을 주실 필요가 없습니다. INSERT INTO food_menu (menu, price, ingredient) VALUES ('라볶이', 5000, '라면, 떡, 양파..'); INSERT INTO food_menu (men..

Back-end/SQL 2021.03.29

[SQL로 하는 데이터 관리] 01. 데이터베이스와 테이블 구축

데이터베이스와 테이블 생성 1 한 동물원에서 동물들을 관리하기 위해 animal_info라는 테이블을 만들려고 합니다. animal_info 테이블에는 다음과 같은 컬럼들을 두려고 하는데요. id : Primary Key로 사용할 컬럼, 데이터 타입 : INT type : 동물 종류(사자, 코끼리 등), 데이터 타입 : VARCHAR, 최대 길이 : 30자 name : 동물 이름(리오, 조이 등), 데이터 타입 : VARCHAR, 최대 길이 : 10자 age : 나이, 데이터 타입 : TINYINT sex : 성별, 데이터 타입 : CHAR, 최대 길이 : 1자 weight : 몸무게, 데이터 타입 : DOUBLE feature : 특징 묘사, 데이터 타입 : VARCHAR, 최대 길이 : 500자 en..

Back-end/SQL 2021.03.29

[SQL로 하는 데이터 분석] 06. 서브쿼리와 뷰를 활용한 유연한 데이터 분석

뷰와 데이터 분석 실무 (1) 일단, employee 테이블의 컬럼 구조를 살펴보는 SQL 문을 실행해보세요. (2) employee 테이블의 컬럼 구조를 확인했으면, 위에서 말한 두 컬럼을 제외한 컬럼들만 조회해서, v_emp 라는 이름의 뷰를 생성하는 SQL 문을 실행하세요. (3) (2)의 SQL 문 바로 밑에 v_emp의 모든 컬럼을 조회하는 SELECT 문을 적고 실행하세요. employee 테이블로부터 v_emp라는 뷰를 만들고, 잘 만들어졌는지 직접 확인해보는 과제입니다. DESCRIBE employee; CREATE VIEW v_emp AS SELCT id, name, age, department, phone_num, hire_date FROM employee; SELECT * FROM v..

Back-end/SQL 2021.03.28

[SQL로 하는 데이터 분석] 06. 서브쿼리와 뷰를 활용한 유연한 데이터 분석

서브쿼리 종합 (1) 이 세 테이블을 모두 이너 조인(inner join)하고, 거기서 price, star, email 컬럼만 조회하세요. (2) 그 SELECT 문을 derived table로 활용해보세요. (3) 그리고 derived table에는 copang_report(코팡 보고서)라는 alias를 붙여주세요. (4) 조회하는 컬럼은 다음과 같은 3가지 컬럼일 텐데요. 각 컬럼에 아래와 같은 alias를 붙여주세요. 1) MAX(copang_report.price) → max_price 2) AVG(copang_report.star) → avg_star 3) COUNT(DISTINCT(copang_report.email)) → distinct_email_count SELECT MAX(copang..

Back-end/SQL 2021.03.27

[SQL로 하는 데이터 분석] 06. 서브쿼리와 뷰를 활용한 유연한 데이터 분석

서브쿼리 기초 저는 코팡에서 2020년을 기준으로 생각했을 때, 꽤 오래 전에 등록되었지만 아직까지도 리뷰가 달리고 있는 스테디 셀러 상품들의 리뷰들을 살펴보려고 하는데요. review 테이블에서 (1) '2018년 12월 31일' 이전에 코팡 사이트에 등록된 상품들에 관한 리뷰들만 추려보겠습니다. (2) 그리고 이때 review 테이블의 모든 컬럼들을 조회하세요. *조인 말고 서브쿼리를 사용해서 문제를 해결해보세요. SELECT * FROM review WHERE item_id IN ( SELECT id FROM item WHERE registration_date < '2018-12-31' ); 본 내용은 Codeit의 '개발자를 위한 SQL 데이터베이스' 강의를 참고하여 작성한 내용입니다.

Back-end/SQL 2021.03.27

[SQL로 하는 데이터 분석] 05. 데이터 분석 단계로 나아가기

여러 테이블 조인하기 (1) 일단 세 테이블을 이너 조인(INNER JOIN)하세요. *조인 기준은 다음과 같이 하면 됩니다 review 테이블의 item_id 컬럼 - item 테이블의 id 컬럼 / review 테이블의 mem_id 컬럼 - member 테이블의 id 컬럼 (2) 그리고 item 테이블의 gender 컬럼의 값이 u인 row들만 선별하세요. (3) item 테이블의 registration_date 컬럼에서 연도를 추출해서 이것(상품 등록 연도)을 기준으로 row들을 그루핑하세요. (4) 각 그룹 내 row 개수가 10개 이상인 그룹들만 추리세요. (5) 결과를 별점 평균값을 기준으로 내림차순 정렬하세요. (6) 컬럼은 총 세 개를 조회하세요. a) 상품 등록 연도 컬럼('등록 연도'라..

Back-end/SQL 2021.03.26

[SQL로 하는 데이터 분석] 05. 데이터 분석 단계로 나아가기

Foreign Key와 조인 이 두 테이블을 조인해서, 각 피자별 판매량을 한꺼번에 보려고 합니다. (1) 조인을 통해 생성된 결과 중에서 pizza_price_cost 테이블의 name 컬럼과, sales 테이블의 sales_volume 컬럼만 조회하세요. (2) 이때 sales_volume 컬럼에는 '판매량'이라는 alias를 붙이고, sales_volume이 NULL인 row의 경우에는 ‘판매량 정보 없음’으로 표시하세요. SELECT p.name, COALESCE(s.sales_volume, '판매량 정보 없음') AS '판매량' FROM pizza_price_cost AS p LEFT OUTER JOIN sales AS s ON p.id = s.menu_id 본 내용은 Codeit의 '개발자를 ..

Back-end/SQL 2021.03.26

[SQL로 하는 데이터 분석] 04. 데이터 분석 단계로 나아가기

그루핑해서 보기 (1) category 컬럼, main_month 컬럼을 기준으로 그루핑하고 (2) 그룹들 중에서 주 상영 월이 5월이고, view_count의 합이 3000000(삼백만) 이상인 것들만 선별하세요. (3) 그리고 category 컬럼, main_month 컬럼, 각 그룹에 속한 row의 개수, 각 그룹의 view_count 합, 이 4가지 컬럼을 조회하세요. (4) 마지막으로 각 그룹에 속한 row의 개수 컬럼에는 '영화 수'라는 alias를, 각 그룹의 view_count 합 컬럼에는 '총 관객 수'라는 alias를 붙이세요. SELECT category, main_month, count(*) AS '영화 수', SUM(view_count) AS '총 관객 수' FROM 2020_mo..

Back-end/SQL 2021.03.23

[SQL로 하는 데이터 분석] 04. 데이터 분석 단계로 나아가기

컬럼 자유롭게 다루기 (1) menu 테이블의 name, price, price/cost(원가 기준 가격의 비율) 컬럼을 조회하세요. (2) 대신 마지막 price/cost 컬럼을 사용해서 그 값이 1 == 1.7 THEN 'A. 고효율 메뉴' END) AS efficiency FROM pizza_price_cost ORDER BY efficiency DESC, price ASC LIMIT 6; 본 내용은 Codeit의 '개발자를 위한 SQL 데이터베이스' 강의를 참고하여 작성한 내용입니다.

Back-end/SQL 2021.03.23

[SQL로 하는 데이터 분석] 04. 데이터 분석 단계로 나아가기

데이터 분석 (1) 고객들이 남긴 리뷰 수와, (2) 별점 평균값을 구하려고 합니다. 대신, (3) 댓글이 존재하는(comment 컬럼이 NULL이 아닌) 리뷰들의 개수와 그 별점들의 평균만 구하려고 하는데요. (4) 그리고 별점의 평균값은 반올림을 해주려고 합니다. 어떻게 해야할까요? 직접 SQL 문을 작성해보세요. ! COUNT 함수는 COUNT(*)의 형식으로 사용해주세요. SELECT COUNT(*), ROUND(AVG(star)) FROM review WHERE comment IS NOT NULL; 본 내용은 Codeit의 '개발자를 위한 SQL 데이터베이스' 강의를 참고하여 작성한 내용입니다.

Back-end/SQL 2021.03.20
반응형
LIST