SQL 연습문제 (10) 썸네일형 리스트형 연습게임7) 랭크게임 하다가 싸워서 피드백 남겼어요… select *from practice7 p 테이블에서 만족도 점수(satisfaction_score)에 따라 피드백을 내림차순으로 정렬하는 쿼리를 작성해주세요!select *from practice7 porder by satisfaction_score desc 테이블에서 각 유저별로 최신 피드백을 찾는 쿼리를 작성해주세요!select name,max(feedback_date) 'feedback_date'from practice7 pgroup by name 테이블에서 만족도 점수가 5점인 피드백의 수를 계산하는 쿼리를 작성해주세요! select count(case when satisfaction_score=5 then 1 end) cntfrom practice7 p 테이블에서 가장 많은 피드백을 .. 연습문제6) 팀 프로젝트 열심히 했으니 다시 놀아볼까요?! select *,rank() over(order by rating desc) 'rank'from practice6 select *from practice6 porder by end_date desclimit 1 select *from practice6 porder by region, rating desc select region,avg(rating)from practice6 pgroup by region [SQL 과제] Lv3. 이용자의 포인트 조회하기 내가 생각 했던건 DB별 가지고 있는 컬럼들과 key로 활용할 항목 확인join 을 left로 할지 inner로 할 지 정하고 -> join 조건 줄 때 on 인것 기억하기각 키값들 정하고null 처리를 case when으로 할지 if 로 할지 결정 만약에 case when으로 하려고 했다면 1. if 문 활용한 경우SELECT u.user_id,u.email,if(p.point is null, 0, p.point) 'point'from users u left join point_users p on u.user_id = p.user_id # user_id 를 키로 해서 user DB와 user_point DB를 join 해야함order by p.point desc 2.case when 활용한 경우.. [SQL 과제] Lv2. 날짜별 획득포인트 조회하기 문제 파악을 위해 테이블을 확인한 SELECT *from point_users pu 문제: 아래와 같은 테이블을 조회 내가 처음 썻던 코드 SELECT date_format(created_at,'%Y-%m-%d') 'created_at', avg(point)from point_users pugroup by point_user_id 잘못된점1. .created_at 의 데이터 타입이 문자열로 바뀜. 2. 평균포인트에 반올림을 하지 않음3. 그룹을 날짜가 아닌 유저 아이디 기준으로 함 수정SELECT date(created_at) 'created_at',round(avg(point))from point_users pugroup by created_at 결과 [SQL 과제] Lv1. 데이터 속 김서방 찾기 여러분들은 스파르타코딩클럽의 분석가로 취직했습니다. DBeaver를 테스트 해볼 겸 “김”씨로 시작하는 이용자들 수를 세어 보기로 했습니다. 1. 주어진 테이블을 확인해 보자 SELECT *from users u 2. 무엇이 필요한지 생각해 보자 성씨에 "김" 이 포함되어야 하니까 name 컬럼을 봐야 하고 포함이라는 조건이니까 where 사용하고 like 를 사용하자 그리고 필요한 갯수 니까 그 필요한 name을 조회하고 count 써서 나오게 하면 되겠다. 3. 최종 코드SELECT count(name) 'name_cnt'from users uwhere name like ('김%') # 연습문제5) 공부하다보니 팀 프로젝트 시간이 왔어요! 주어진 테이블 테이블에서 AWS 예산(aws_cost)이 40000 이상 들어간 프로젝트들의 이름을 선택하는 쿼리를 작성해주세요 SELECT * FROM practice5 p where aws_cost>=40000 테이블에서 2022년에 시작된 프로젝트를 선택하는 쿼리를 작성해주세요! 단, start_date SELECT * FROM practice5 p where p.start_date like '2022%' 테이블에서 현재 진행중인 프로젝트를 선택하는 쿼리를 작성해주세요. 단, 지금 시점의 날짜를 하드코딩해서 쿼리하지 말아주세요! SELECT *, now() FROM practice5 p where end_date - now() > 0 테이블에서 각 프로젝트의 지속 기간을 일 수로 계산.. 연습문제4) 이제 놀만큼 놀았으니 다시 공부해봅시다! 주어진 테이블 테이블에서 모든 학생의 이름(name)과 트랙(track)을 선택하는 쿼리를 작성해주세요! select name, track from practice4 테이블에서 Unity 트랙 소속이 아닌 학생들을 선택하는 쿼리를 작성해주세요! select name, track from practice4 where not track='Unity'테이블에서 입학년도(enrollment_year)가 2021년인 학생과 2023년인 학생을 선택하는 쿼리를 작성해주세요! select name, track from practice4 where enrollment_year = 2021 or enrollment_year =2023테이블에서 Node.js 트랙 소속이고 학점이 ‘A’인 학생의 입학년도를 선택하.. 연습문제3) 상품 주문이 들어왔으니 주문을 처리해봅시다! 주어진 테이블 테이블에서 주문 수량(amount)이 2개 이상인 주문을 진행한 소비자의 ID(customer_id)만 선택하는 쿼리를 작성해주세요! select id, customer_id, amount from practice3 where amount >=2 결과테이블에서 2023년 11월 2일 이후에 주문된 주문 수량(amount)이 2개 이상인 주문을 선택하는 쿼리를 작성해주세요! select id, customer_id, order_date, amount from practice3 where datediff('2023-11-02',order_date) 결과테이블에서 주문 수량이 3개 미만이면서 배송비(shipping_fee)가 15000원보다 비싼 주문을 선택하는 쿼리를 작성해주세요! s.. 연습문제2) 이제 좀 벌었으니 flex 한 번 해볼까요?! #제품 이름과 가격만을 선택하는 쿼리 작성 select product_name, price from practice2 p #제품 이름에 프로가 포함된 모든 제품을 선택하는 쿼리 작성 select product_name, price from practice2 p where product_name like '%프로%'#제품 이름이 갤로 시작하는 모든 제품을 선택하는 쿼리 select product_name, price from practice2 p where product_name like '갤%'# 모든 제품을 구매하기 위해 필요한돈을 계산 select sum(price) '전체 가격' from practice2 p 연습문제1) 돈을 벌기 위해 일을 합시다! 1) 모든 직원의 이름과 직급을 선택 하는 쿼리 select name, positon FROM practice1 2) 중복없이 모든 직급을 선택하는 쿼리 select distinct position FROM practice1 3) 연봉이 40000과 60000 사이인 직원들을 선택하는 쿼리 select when salary >= 40000 and salary from sparta_employees select name,salary '4~60000사이'FROM practice1where salary >= 40000 and salary 600004)입사일이 2023년 1월 1일 이전인 모든 직원들을 선택 select when datadiff(hire_data, '2023-01-01) fr.. 이전 1 다음