돈을 벌기 위해 일을 합시다! - 직원 테이블
아래와 같은 sparta_employees(직원) 테이블이 있습니다.
id | name | position | salary | hire_date |
1 | 르탄이 | 개발자 | 30000 | 2022-05-01 |
2 | 배캠이 | PM | 40000 | 2021-09-25 |
3 | 구구이 | 파트장 | 35000 | 2023-06-01 |
4 | 이션이 | 팀장 | 50000 | 2021-07-09 |
1.
sparta_employees 테이블에서 모든 직원의 이름(name)과 직급(position)을 선택하는 쿼리를 작성해주세요.
정답
2.
sparta_employees 테이블에서 중복 없이 모든 직급(position)을 선택하는 쿼리를 작성해주세요.
정답
3.
sparta_employees 테이블에서 연봉(salary)이 40000과 60000 사이인 직원들을 선택하는 쿼리를 작성해주세요.
정답
4.
sparta_employees 테이블에서 입사일(hire_date)이 2023년 1월 1일 이전인 모든 직원들을 선택하는 쿼리를 작성해주세요.
정답
이제 좀 벌었으니 flex 한 번 해볼까요?! - 상품 테이블
여러분이 구매하고 싶은 상품들의 정보가 있는 products(상품) 테이블이 아래에 있습니다.
id | product_name | price | category |
1 | 맥북 프로 | 1200 | 컴퓨터 |
2 | 다이슨 청소기 | 300 | 생활가전 |
3 | 갤럭시탭 | 600 | 컴퓨터 |
4 | 드롱기 커피머신 | 200 | 주방가전 |
5.
products 테이블에서 제품 이름(product_name)과 가격(price)만을 선택하는 쿼리를 작성해주세요.
정답
6.
products 테이블에서 제품 이름에 '프로'가 포함된 모든 제품을 선택하는 쿼리를 작성해주세요.
정답
7.
products 테이블에서 제품 이름이 '갤'로 시작하는 모든 제품을 선택하는 쿼리를 작성해주세요.
정답
8.
products 테이블에서 모든 제품을 구매하기 위해 필요한 돈을 계산하는 쿼리를 작성해주세요.
정답
상품 주문이 들어왔으니 주문을 처리해봅시다! - 주문 테이블
이제 상품 주문이 들어왔으니 어떤 고객에게 어떤 주문이 들어왔는지를 파악할 수 있는 orders(주문) 테이블이 아래에 있습니다.
id | customer_id | product_id | amount | shipping_fee | order_date |
1 | 719 | 1 | 3 | 50000 | 2023-11-01 |
2 | 131 | 2 | 1 | 10000 | 2023-11-02 |
3 | 65 | 4 | 1 | 20000 | 2023-11-05 |
4 | 1008 | 3 | 2 | 25000 | 2023-11-05 |
5 | 356 | 1 | 1 | 15000 | 2023-11-09 |
9.
orders 테이블에서 주문 수량(amount)이 2개 이상인 주문을 진행한 소비자의 ID(customer_id)만 선택하는 쿼리를 작성해주세요!
정답
10.
orders 테이블에서 2023년 11월 2일 이후에 주문된 주문 수량(amount)이 2개 이상인 주문을 선택하는 쿼리를 작성해주세요!
정답
11.
orders 테이블에서 주문 수량이 3개 미만이면서 배송비(shipping_fee)가 15000원보다 비싼 주문을 선택하는 쿼리를 작성해주세요!
정답
12.
orders 테이블에서 배송비가 높은 금액 순으로 정렬하는 쿼리를 작성해주세요!
정답
이제 놀만큼 놀았으니 다시 공부해봅시다! - 학생 테이블
아래와 같은 sparta_students(학생) 테이블이 있습니다.
id | name | track | grade | enrollment_year |
1 | 르탄이 | Node.js | A | 2023 |
2 | 배캠이 | Spring | B | 2022 |
3 | 구구이 | Unity | C | 2021 |
4 | 이션이 | Node.js | B | 2022 |
13.
sparta_students 테이블에서 모든 학생의 이름(name)과 트랙(track)을 선택하는 쿼리를 작성해주세요!
정답
14.
sparta_students 테이블에서 Unity 트랙 소속이 아닌 학생들을 선택하는 쿼리를 작성해주세요!
정답
15.
sparta_students 테이블에서 입학년도(enrollment_year)가 2021년인 학생과 2023년인 학생을 선택하는 쿼리를 작성해주세요!
정답
16.
sparta_students 테이블에서 Node.js 트랙 소속이고 학점이 ‘A’인 학생의 입학년도를 선택하는 쿼리를 작성해주세요!
정답
공부하다보니 팀 프로젝트 시간이 왔어요! - 프로젝트 테이블
공부를 한 결과를 점검하기 위해 팀 프로젝트를 수행해야 합니다! 이제, 아래와 같은 team_projects(프로젝트) 테이블이 있습니다.
id | name | start_date | end_date | aws_cost |
1 | 일조 | 2023-01-01 | 2023-01-07 | 30000 |
2 | 꿈꾸는이조 | 2023-03-15 | 2023-03-22 | 50000 |
3 | 보람삼조 | 2023-11-20 | 2023-11-30 | 80000 |
4 | 사조참치 | 2022-07-01 | 2022-07-30 | 75000 |
17.
team_projects 테이블에서 AWS 예산(aws_cost)이 40000 이상 들어간 프로젝트들의 이름을 선택하는 쿼리를 작성해주세요!
정답
18.
team_projects 테이블에서 2022년에 시작된 프로젝트를 선택하는 쿼리를 작성해주세요! 단, start_date < ‘2023-01-01’ 조건을 사용하지 말고 쿼리를 작성해주세요!
정답
19.
team_projects 테이블에서 현재 진행중인 프로젝트를 선택하는 쿼리를 작성해주세요. 단, 지금 시점의 날짜를 하드코딩해서 쿼리하지 말아주세요!
정답
20.
team_projects 테이블에서 각 프로젝트의 지속 기간을 일 수로 계산하는 쿼리를 작성해주세요!
정답
팀 프로젝트 열심히 했으니 다시 놀아볼까요?! - LOL 유저 테이블
아래와 같은 lol_users(LOL 유저 테이블)이 있습니다.
id | name | region | rating | join_date |
1 | 르탄이 | 한국 | 1300 | 2019-06-15 |
2 | 배캠이 | 미국 | 1500 | 2020-09-01 |
3 | 구구이 | 한국 | 1400 | 2021-01-07 |
4 | 이션이 | 미국 | 1350 | 2019-11-15 |
21.
lol_users 테이블에서 각 유저의 레이팅(rating) 순위를 계산하는 쿼리를 작성해주세요! 전체 지역(region) 기준이고 순위는 레이팅이 높을수록 높아야해요. (e.g. rating 1400 유저의 순위 > rating 1350 유저의 순위)
정답
22.
lol_users 테이블에서 가장 늦게 게임을 시작한(join_date) 유저의 이름을 선택하는 쿼리를 작성해주세요!
정답
23.
lol_users 테이블에서 지역별로 레이팅이 높은 순으로 유저들을 정렬해서 나열하는 쿼리를 작성해주세요!
정답
24.
lol_users 테이블에서 지역별로 평균 레이팅을 계산하는 쿼리를 작성해주세요!
정답
랭크게임 하다가 싸워서 피드백 남겼어요… - LOL 피드백 테이블
아래와 같은 lol_feedbacks (LOL 피드백 테이블)이 있습니다.
id | user_name | satisfaction_score | feedback_date |
1 | 르탄이 | 5 | 2023-03-01 |
2 | 배캠이 | 4 | 2023-03-02 |
3 | 구구이 | 3 | 2023-03-01 |
4 | 이션이 | 5 | 2023-03-03 |
5 | 구구이 | 4 | 2023-03-04 |
25.
lol_feedbacks 테이블에서 만족도 점수(satisfaction_score)에 따라 피드백을 내림차순으로 정렬하는 쿼리를 작성해주세요!
정답
26.
lol_feedbacks 테이블에서 각 유저별로 최신 피드백을 찾는 쿼리를 작성해주세요!
정답
27.
lol_feedbacks 테이블에서 만족도 점수가 5점인 피드백의 수를 계산하는 쿼리를 작성해주세요!
정답
28.
lol_feedbacks 테이블에서 가장 많은 피드백을 남긴 상위 3명의 고객을 찾는 쿼리를 작성해주세요!
정답
29.
lol_feedbacks 테이블에서 평균 만족도 점수가 가장 높은 날짜를 찾는 쿼리를 작성해주세요!
정답
LOL을 하다가 홧병이 나서 병원을 찾아왔습니다. - 의사 테이블
이제, 아래와 같은 doctors(의사) 테이블이 있습니다.
id | name | major | hire_date |
1 | 르탄이 | 피부과 | 2018-05-10 |
2 | 배캠이 | 성형외과 | 2019-06-15 |
3 | 구구이 | 안과 | 2020-07-20 |
30.
doctors 테이블에서 전공(major)가 성형외과인 의사의 이름을 알아내는 쿼리를 작성해주세요!
정답
31.
doctors 테이블에서 각 전공 별 의사 수를 계산하는 쿼리를 작성해주세요!
정답
32.
doctors 테이블에서 현재 날짜 기준으로 5년 이상 근무(hire_date)한 의사 수를 계산하는 쿼리를 작성해주세요!
정답
33.
doctors 테이블에서 각 의사의 근무 기간을 계산하는 쿼리를 작성해주세요!
정답
아프면 안됩니다! 항상 건강 챙기세요! - 환자 테이블
의사가 있으면 당연히 의사에게 진료받는 환자가 있겠죠? 아래와 같은 patients(환자) 테이블이 있습니다.
id | name | birth_date | gender | last_visit_date |
1 | 르탄이 | 1985-04-12 | 남자 | 2023-03-15 |
2 | 배캠이 | 1990-08-05 | 여자 | 2023-03-20 |
3 | 구구이 | 1982-12-02 | 여자 | 2023-02-18 |
4 | 이션이 | 1999-03-02 | 남자 | 2023-03-17 |
34.
patients 테이블에서 각 성별(gender)에 따른 환자 수를 계산하는 쿼리를 작성해주세요!
정답
35.
patients 테이블에서 현재 나이가 40세 이상인 환자들의 수를 계산하는 쿼리를 작성해주세요!
정답
36.
patients 테이블에서 마지막 방문 날짜(last_visit_date)가 1년 이상 된 환자들을 선택하는 쿼리를 작성해주세요!
정답
37.
patients 테이블에서 생년월일이 1980년대인 환자들의 수를 계산하는 쿼리를 작성해주세요!
정답
이젠 테이블이 2개입니다 - 직원 & 부서 테이블
다음과 같은 직원(employees) 테이블과 부서(departments) 테이블이 있습니다.
•
employees 테이블
id | department_id | name |
1 | 101 | 르탄이 |
2 | 102 | 배캠이 |
3 | 103 | 구구이 |
4 | 101 | 이션이 |
•
departments 테이블
id | name |
101 | 인사팀 |
102 | 마케팅팀 |
103 | 기술팀 |
38.
현재 존재하고 있는 총 부서의 수를 구하는 쿼리를 작성해주세요!
정답
39.
모든 직원과 그들이 속한 부서의 이름을 나열하는 쿼리를 작성해주세요!
정답
40.
'기술팀' 부서에 속한 직원들의 이름을 나열하는 쿼리를 작성해주세요!
정답
41.
부서별로 직원 수를 계산하는 쿼리를 작성해주세요!
정답
42.
직원이 없는 부서의 이름을 찾는 쿼리를 작성해주세요!
정답
43.
'마케팅팀' 부서에만 속한 직원들의 이름을 나열하는 쿼리를 작성해주세요!
정답
수고하셨습니다! 드디어 마지막이에요! - 상품 & 주문 테이블
다음과 같은 상품(products) 테이블과 주문(orders) 테이블이 있습니다.
•
products 테이블
id | name | price |
1 | 랩톱 | 1200 |
2 | 핸드폰 | 800 |
3 | 타블렛 | 400 |
•
orders 테이블
id | product_id | quantity | order_date |
101 | 1 | 2 | 2023-03-01 |
102 | 2 | 1 | 2023-03-02 |
103 | 3 | 5 | 2023-03-04 |
44.
모든 주문의 주문 ID와 주문된 상품의 이름을 나열하는 쿼리를 작성해주세요!
정답
45.
총 매출(price * quantity의 합)이 가장 높은 상품의 ID와 해당 상품의 총 매출을 가져오는 쿼리를 작성해주세요!
정답
46.
각 상품 ID별로 판매된 총 수량(quantity)을 계산하는 쿼리를 작성해주세요!
정답
47.
2023년 3월 3일 이후에 주문된 모든 상품의 이름을 나열하는 쿼리를 작성해주세요!
정답
48.
가장 많이 판매된 상품의 이름을 찾는 쿼리를 작성해주세요!
정답
49.
각 상품 ID별로 평균 주문 수량을 계산하는 쿼리를 작성해주세요!
정답
50.
판매되지 않은 상품의 ID와 이름을 찾는 쿼리를 작성해주세요!
정답