Quest/SQL 14

SQL Quest 달리기반 - 5_2)

Lv5. 예산이 가장 큰 프로젝트는? - Employees 테이블EmployeeIDNameDepartmentSalary1AliceHR50002BobIT70003CharlieIT60004DavidHR45005EveSales55006FrankIT7200 - Projects 테이블ProjectIDProjectNameBudget101Alpha10000102Beta15000103Gamma12000104Delta8000 - EmployeeProjects 테이블EmployeeIDProjectID1101210131024103510461026103 Q-1)각 직원이 속한 부서에서 가장 높은 월급을 받는 직원들만 포함된 결과를 조회하는 SQL 쿼리를 작성해주세요.출력 결과에는 직원의 이름, 부서, 그리고 월급이 포함되어야..

Quest/SQL 2024.11.15

SQL Quest 달리기반 - 1~4)

Lv1. 데이터 속 김서방 찾기상황 : 여러분들은 스파르타코딩클럽의 분석가로 취직했습니다. DBeaver를 테스트 해볼 겸 “김”씨로 시작하는 이용자들 수를 세어 보기로 했습니다.문제 : 다음과 같은 결과테이블을 만들어봅시다.name_cnt : “김”씨 성을 가지고 있는 교육생의 수select count(distinct user_id) name_cntfrom userswhere name like '김%'  Lv2. 날짜별 획득포인트 조회하기상황 : 이번에는 이용자들이 잘 활동하고 있는지 보고자 합니다. 포인트가 많을수록 활동을 잘하고 있다고 생각할 수 있습니다. 날짜별로 획득한 포인트가 점점 늘어나는지 줄어드는지 확인해 봅시다.문제 : 다음과 같은 결과테이블을 만들어봅시다.created_at: 익명화된 ..

Quest/SQL 2024.11.14

SQL Quest 걷기반 - last

마지막 연습 문제 ! 다음과 같은 상품(products) 테이블과 주문(orders) 테이블이 있습니다.products 테이블idnameprice1랩톱12002핸드폰8003타블렛400 orders 테이블idproduct_idquantityorder_date101122023-03-01102212023-03-02103352023-03-04 44. 모든 주문의 주문 ID와 주문된 상품의 이름을 나열하는 쿼리를 작성해주세요!select o.id, p.namefrom products p left join orders o on p.id=o.product_id 45. 총 매출(price * quantity의 합)이 가장 높은 상품의 ID와 해당 상품의 총 매출을 가져오는 쿼리를 작성해주세요!select p..

Quest/SQL 2024.11.13

SQL Quest 걷기반 - 10)

10) 이젠 테이블이 2개입니다. 다음과 같은 직원(employees) 테이블과 부서(departments) 테이블이 있습니다. employees 테이블iddepartment_idname1101르탄이2102배캠이3103구구이4101이션이departments 테이블idname101인사팀102마케팅팀103기술팀 38. 현재 존재하고 있는 총 부서의 수를 구하는 쿼리를 작성해주세요!select count(*)from departments 39. 모든 직원과 그들이 속한 부서의 이름을 나열하는 쿼리를 작성해주세요!select e.name, d.namefrom employees e left join departments d on e.department_id=d.id 40. '기술팀' 부서에 속한 직원들..

Quest/SQL 2024.11.13

SQL Quest 걷기반 - 9)

9) 아프면 안됩니다! 항상 건강 챙기세요! idnamebirth_dategenderlast_visit_date1르탄이1985-04-12남자2023-03-152배캠이1990-08-05여자2023-03-203구구이1982-12-02여자2023-02-184이션이1999-03-02남자2023-03-17  34. patients 테이블에서 각 성별(gender)에 따른 환자 수를 계산하는 쿼리를 작성해주세요!select gender, count(*)from patientsgroup by 1 35. patients 테이블에서 현재 나이가 40세 이상인 환자들의 수를 계산하는 쿼리를 작성해주세요!select count(*)from patientswhere floor((to_days(now())-to_da..

Quest/SQL 2024.11.13

SQL Quest 걷기반 - 8)

8) LOL을 하다가 홧병이 나서 병원을 찾아왔습니다. idnamemajorhire_date1르탄이피부과2018-05-102배캠이성형외과2019-06-153구구이안과2020-07-20  30. doctors 테이블에서 전공(major)가 성형외과인 의사의 이름을 알아내는 쿼리를 작성해주세요!select namefrom doctorswhere major='성형외과' 31. doctors 테이블에서 각 전공 별 의사 수를 계산하는 쿼리를 작성해주세요!select major, count(*)from doctorsgroup by 1 32. doctors 테이블에서 현재 날짜 기준으로 5년 이상 근무(hire_date)한 의사 수를 계산하는 쿼리를 작성해주세요!select count(*)from doc..

Quest/SQL 2024.11.13

SQL Quest 걷기반 - 7)

7) 랭크게임 하다가 싸워서 피드백 남겼어요… iduser_namesatisfaction_scorefeedback_date1르탄이52023-03-012배캠이42023-03-023구구이32023-03-014이션이52023-03-035구구이42023-03-04 25. lol_feedbacks 테이블에서 만족도 점수(satisfaction_score)에 따라 피드백을 내림차순으로 정렬하는 쿼리를 작성해주세요!select *from lol_feedbacksorder by satisfaction_score, feedback_date desc 26. lol_feedbacks 테이블에서 각 유저별로 최신 피드백을 찾는 쿼리를 작성해주세요!select user_name, max(feedback_date)fr..

Quest/SQL 2024.11.12

SQL Quest 걷기반 - 6)

6) 팀 프로젝트 열심히 했으니 다시 놀아볼까요?! idnameregionratingjoin_date1르탄이한국13002019-06-152배캠이미국15002020-09-013구구이한국14002021-01-074이션이미국13502019-11-15  21. lol_users 테이블에서 각 유저의 레이팅(rating) 순위를 계산하는 쿼리를 작성해주세요! 전체 지역(region) 기준이고 순위는 레이팅이 높을수록 높아야해요. (e.g. rating 1400 유저의 순위 > rating 1350 유저의 순위)select *, rank() over(order by rating desc) rankingfrom lol_users 22. lol_users 테이블에서 가장 늦게 게임을 시작한(join_date..

Quest/SQL 2024.11.12

SQL Quest 걷기반 - 5)

5) 공부하다보니 팀 프로젝트 시간이 왔어요!  17. team_projects 테이블에서 AWS 예산(aws_cost)이 40000 이상 들어간 프로젝트들의 이름을 선택하는 쿼리를 작성해주세요!select name, aws_costfrom team_projectswhere aws_cost>=40000 18. team_projects 테이블에서 2022년에 시작된 프로젝트를 선택하는 쿼리를 작성해주세요! 단, start_date select *from team_projectswhere date_format(date(start_date), '%Y')=2022 19. team_projects 테이블에서 현재 진행중인 프로젝트를 선택하는 쿼리를 작성해주세요. 단, 지금 시점의 날짜를 하드코딩해서 쿼..

Quest/SQL 2024.11.11