SQL 12

[MySQL] Index, Tree

2025.04.11 - [Dev/SQL] - [내일배움캠프][SQL] Lv1. 데이터 속 김서방 찾기 스파르타 코딩클럽에 가입한 유저들의 정보를 날짜별로 기록한 테이블user_id: 익명화된 유저들의 아이디(varchar255)created_at: 아이디 생성 날짜(timestamp)updated_at: 정보 업데이트 날" data-og-host="syuare.tistory.com" data-og-source-url="https://syuare.tistory.com/32" data-og-url="https://syuare.tistory.com/32" data-og-image="https://blog.kakaocdn.net/dna/eb2BqU/hyYB7mlAZw/AAAAAAAAAAAAAAAAAAAAAFckikPu0XWzT6izzgRmKPXiS9jiv5exh5VHYzThdCpT/i..?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1756652399&allow_ip=&allow_referer=&signature=4XJiyjkhWHuBqH2pXoTKzb7jSj0%3D

Dev/SQL 2025.04.11

[MySQL][Practice] Lv1. 데이터 속 김서방 찾기

Table - users > 스파르타 코딩클럽에 가입한 유저들의 정보를 날짜별로 기록한 테이블user_id: 익명화된 유저들의 아이디(varchar255)created_at: 아이디 생성 날짜(timestamp)updated_at: 정보 업데이트 날짜(timestamp)name: 익명화된 유저들의 이름(varchar255)email: 이메일(varchar255)Q) name_cnt > “김”씨 성을 가지고 있는 교육생의 수select count(distinct user_id) name_cnt -- distinct를 통해 중복 제거from userswhere name like '김%' 더보기정답SELECT count(distinct(user_id)) as name_cntFROM userswhere ..

Sparta/SQL-Practice 2025.04.11

[MySQL][Practice] 마지막 연습 문제 !

Table - productsidnameprice1랩톱12002핸드폰8003타블렛400 Table - ordersidproduct_idquantityorder_date101122023-03-01102212023-03-02103352023-03-04더보기44.모든 주문의 주문 ID와 주문된 상품의 이름을 나열하는 쿼리를 작성해주세요!select o.id, p.namefrom products p inner join orders o on p.id = o.product_id45.총 매출(price * quantity의 합)이 가장 높은 상품의 ID와 해당 상품의 총 매출을 가져오는 쿼리를 작성해주세요!select o.id, sum(p.price*o.quantity) as total_sale..

Sparta/SQL-Practice 2025.04.10

[MySQL][Practice] 아프면 안됩니다! 항상 건강 챙기세요!

Table - patientsidnamebirth_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 gender35.patients 테이블에서 현재 나이가 40세 이상인 환자들의 수를 계산하는 쿼리를 작성해주세요!select count(*) as cnt_patients_40overfrom(select *, date_fo..

Sparta/SQL-Practice 2025.04.09

[MySQL][Practice] LOL을 하다가 홧병이 나서 병원을 찾아왔습니다.

Table - doctorsidnamemajorhire_date1르탄이피부과2018-05-102배캠이성형외과2019-06-153구구이안과2020-07-20더보기30. doctors 테이블에서 전공(major)가 성형외과인 의사의 이름을 알아내는 쿼리를 작성해주세요!select namefrom doctorswhere major = '성형외과'31. doctors 테이블에서 각 전공 별 의사 수를 계산하는 쿼리를 작성해주세요!select major, count(1) as cnt_majorfrom doctorsgroup by major32. doctors 테이블에서 현재 날짜 기준으로 5년 이상 근무(hire_date)한 의사 수를 계산하는 쿼리를 작성해주세요!#방법1select count(1) a..

Sparta/SQL-Practice 2025.04.05

[MySQL][Practice] 랭크게임 하다가 싸워서 피드백 남겼어요…

Table - lol_feedbacks 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 desc26. lol_feedbacks 테이블에서 각 유저별로 최신 피드백을 찾는 쿼리를 작성해주세요!select user_name, max(feedback_date) as latest_feedback..

Sparta/SQL-Practice 2025.04.05

[MySQL][Practice] 팀 프로젝트 열심히 했으니 다시 놀아볼까요?!

Table - lol_usersidnameregionratingjoin_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_users22.lol_users 테이블에서 가장 늦게 게임을 시작한(join_date) 유저의 이름을 선택하는..

Sparta/SQL-Practice 2025.04.04

[MySQL][Practice] 공부하다보니 팀 프로젝트 시간이 왔어요!

Table - team_projectsidnamestart_dateend_dateaws_cost1일조2023-01-012023-01-07300002꿈꾸는이조2023-03-152023-03-22500003보람삼조2023-11-202023-11-30800004사조참치2022-07-012022-07-3075000더보기17.team_projects 테이블에서 AWS 예산(aws_cost)이 40000 이상 들어간 프로젝트들의 이름을 선택하는 쿼리를 작성해주세요!select namefrom team_projectswhere aws_cost>=4000018.team_projects 테이블에서 2022년에 시작된 프로젝트를 선택하는 쿼리를 작성해주세요! 단, start_date select *from team_pro..

Sparta/SQL-Practice 2025.04.04

[MySQL][Practice] 이제 놀만큼 놀았으니 다시 공부해봅시다!

Table - sparta_studentsidnametrackgradeenrollment_year1르탄이Node.jsA20232배캠이SpringB20223구구이UnityC20214이션이Node.jsB2022더보기13.sparta_students 테이블에서 모든 학생의 이름(name)과 트랙(track)을 선택하는 쿼리를 작성해주세요!select name, trackfrom sparta_students14.sparta_students 테이블에서 Unity 트랙 소속이 아닌 학생들을 선택하는 쿼리를 작성해주세요!select *from sparta_studentswhere not track = 'Unity'15.sparta_students 테이블에서 입학년도(enrollment_year)가 2021년인 학생과..

Sparta/SQL-Practice 2025.04.04

[MySQL][Practice] 상품 주문이 들어왔으니 주문을 처리해봅시다!

Table - ordersidcustomer_idproduct_idamountshipping_feeorder_date171913500002023-11-01213121100002023-11-0236541200002023-11-054100832250002023-11-05535611150002023-11-09더보기9.orders 테이블에서 주문 수량(amount)이 2개 이상인 주문을 진행한 소비자의 ID(customer_id)만 선택하는 쿼리를 작성해주세요!select customer_idfrom orderswhere amount>=210.orders 테이블에서 2023년 11월 2일 이후에 주문된 주문 수량(amount)이 2개 이상인 주문을 선택하는 쿼리를 작성해주세요!select *from orders..

Sparta/SQL-Practice 2025.04.04