분류 전체보기 140

14일차 SQL 스터디: 데이터 속 김서방 찾기

상황: 여러분들은 스파르타코딩클럽의 분석가로 취직했습니다. DBeaver를 테스트 해볼 겸 “김”씨로 시작하는 이용자들 수를 세어 보기로 했습니다. 데이터 설명user_id: 익명화된 유저들의 아이디(varchar255)created_at: 아이디 생성 날짜(timestamp)updated_at: 정보 업데이트 날짜(timestamp)name: 익명화된 유저들의 이름(varchar255)email: 이메일(varchar255)user 테이블은 스파르타 코딩클럽에 가입한 유저들의 정보를 날짜별로 기록한 테이블입니다.# 내가 짠 쿼리SELECT COUNT(*) name_cntFROM usersWHERE name = '김**'# 정답 쿼리SELECT count(distinct(user_id)) as name_..

DATA 사전캠프 2024.11.21

13일차 Python 스터디: 반복문 연습하기 Part 3

팩토리얼을 계산해보아요 !팩토리얼은 n! = n * (n-1) * (n-2) * ... * 1로 정의됩니다0!은 1로 정의됩니다number = 5factorial = 1# 반복문으로 팩토리얼 계산for i in range(1, number + 1): factorial *= iprint(factorial) range(1, number + 1):range(1, 6)은 1부터 5까지의 정수를 생성합니다. n!은 n부터 1까지의 정수를 모두 곱하는 것이므로, 반복문에서 이 범위를 사용합니다.for i in range(...):반복문이 실행될 때 i는 1부터 5까지의 값을 순서대로 가집니다.factorial *= i:factorial에 현재 값 i를 곱한 뒤 다시 factorial에 저장합니다.각 단계에서의..

DATA 사전캠프 2024.11.20

13일차 Python 스터디: 반복문 연습하기 Part 1

주어진 리스트와 찾고자 하는 값을 입력받아, 해당 값이 리스트에서 몇 번 등장하는지 출력해주세요. numbers = [1, 2, 3, 4, 2, 2, 5, 2]value_to_find = 2# 특정 값의 등장 횟수 세기1count = 0for num in numbers: if num == value_to_find: count += 1print(f"리스트에서 {value_to_find}는 {count}회 등장합니다!")# 특정 값의 등장 횟수 세기2count = numbers.count(value_to_find)print(f"리스트에서 {value_to_find}는 {count}회 등장합니다!")

DATA 사전캠프 2024.11.20

11일차 SQL 스터디: 마지막 연습 문제 !

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

DATA 사전캠프 2024.11.19

11일차 SQL 스터디: 이젠 테이블이 2개입니다

다음과 같은 직원(employees) 테이블과 부서(departments) 테이블이 있습니다. employees 테이블iddepartment_idname1101르탄이2102배캠이3103구구이4101이션이 departments 테이블idname101인사팀102마케팅팀103기술팀 38. 현재 존재하고 있는 총 부서의 수를 구하는 쿼리를 작성해주세요!SELECT COUNT(name) departments_countFROM departments; 39. 모든 직원과 그들이 속한 부서의 이름을 나열하는 쿼리를 작성해주세요!SELECT e.name emoloyee_name, d.name department_nameFROM employees e INNER JOIN departments d ON e.departmen..

DATA 사전캠프 2024.11.19

11일차 SQL 스터디: 아프면 안됩니다! 항상 건강 챙기세요!

의사가 있으면 당연히 의사에게 진료받는 환자가 있겠죠? 아래와 같은 patients(환자) 테이블이 있습니다.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(*) patient_countFROM patientsGROUP BY gender; 35. patients 테이블에서 현재 나이가 40세 이상인 환자들의 수를 계산하는 쿼리를 작성해주세요!SELECT COUN..

DATA 사전캠프 2024.11.18

11일차 SQL 스터디: LOL을 하다가 홧병이 나서 병원을 찾아왔습니다

이제, 아래와 같은 doctors(의사) 테이블이 있습니다.idnamemajorhire_date1르탄이피부과2018-05-102배캠이성형외과2019-06-153구구이안과2020-07-20 30. doctors 테이블에서 전공(major)가 성형외과인 의사의 이름을 알아내는 쿼리를 작성해주세요!SELECT nameFROM doctorsWHERE major = '성형외과' 31. doctors 테이블에서 각 전공 별 의사 수를 계산하는 쿼리를 작성해주세요!SELECT major, COUNT(major) doctor_countFROM doctorsGROUP BY major; 32. doctors 테이블에서 현재 날짜 기준으로 5년 이상 근무(hire_date)한 의사 수를 계산하는 쿼리를 작성해주세요!SEL..

DATA 사전캠프 2024.11.18

11일차 SQL 스터디: 랭크게임 하다가 싸워서 피드백 남겼어요…

아래와 같은 lol_feedbacks (LOL 피드백 테이블)이 있습니다.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 DESC; 26. lol_feedbacks 테이블에서 각 유저별로 최신 피드백을 찾는 쿼리를 작성해주세요!SELECT user_name, MAX(feedback_date) lates..

DATA 사전캠프 2024.11.18

11일차 SQL 스터디: 팀 프로젝트 열심히 했으니 다시 놀아볼까요?!

아래와 같은 lol_users(LOL 유저 테이블)이 있습니다.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 id, name, region, rating, join_date, RANK() OVER (ORDER BY rating DESC..

DATA 사전캠프 2024.11.18