사전캠프 2일차
게임서버 개발 부트캠프
TIL(Today I Learned)을 오늘부터 작성하기 시작했다!
TIL(Today I Learned) - 요약
-
팀과 같이 아티클 스터디를 통하여 게임서버의 역사에 대해 알아보는 시간을 가졌다.
-
SQL 문법 과제들을 풀면서 기초를 다지는 시간을 가졌다.
-
웹개발 강의를 조금씩 보면서 언어에 대한 기초를 다시금 키웠다.
TIL(Today I Learned) - 중간 과정
-
게임서버의 역사에 대해 조사할 때 최대한 큰 흐름으로 찾아보기 위해 영어로 검색을 해보았더니 여러 정보가 나왔엇다.
-
SQL 문법 과제들에 정답을 추론하고 정답인지 확인하기 위해 실행할 수 있는 환경을 만들었다.
-
웹개발 강의를 좀 더 들으며 이 블로그를 더욱 꾸밀 수 있도록 노력해야 겠다!
과제 제출 - SQL 문법을 연습해요
1. 돈을 벌기 위해 일을 합시다!
아래와 같은 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)을 선택하는 쿼리를 작성해주세요.
SELECT name, position FROM sprata_employees;
2.sparta_employees
테이블에서 중복 없이 모든 직급(position)을 선택하는 쿼리를 작성해주세요.
SELECT DISTINCT position FROM sprata_employees;
3.sparta_employees
테이블에서 연봉(salary)이 40000과 60000 사이인 직원들을 선택하는 쿼리를 작성해주세요.
SELECT id FROM sparta_employees WHERE salary BETWEEN 40000 AND 60000;
4.sparta_employees
테이블에서 입사일(hire_date)이 2023년 1월 1일 이전인 모든 직원들을 선택하는 쿼리를 작성해주세요.
SELECT id FROM sparta_employees WHERE hire_date < '2023-01-01';
2. 이제 좀 벌었으니 flex 한 번 해볼까요?!
여러분이 구매하고 싶은 상품들의 정보가 있는 products(상품) 테이블이 아래에 있습니다.
id | product_name | price | category |
---|---|---|---|
1 | 맥북 프로 | 1200 | 컴퓨터 |
2 | 다이슨 청소기 | 300 | 생활가전 |
3 | 갤럭시탭 | 600 | 컴퓨터 |
4 | 드롱기 커피머신 | 200 | 주방가전 |
5.products
테이블에서 제품 이름(product_name)과 가격(price)만을 선택하는 쿼리를 작성해주세요.
SELECT product_name, price FROM products;
6.products
테이블에서 제품 이름에 ‘프로’가 포함된 모든 제품을 선택하는 쿼리를 작성해주세요
SELECT id FROM products WHERE product_name LIKE '%프로%';
7.products
테이블에서 제품 이름이 ‘갤’로 시작하는 모든 제품을 선택하는 쿼리를 작성해주세요.
SELECT id FROM products WHERE product_name LIKE '갤%';
8.products
테이블에서 모든 제품을 구매하기 위해 필요한 돈을 계산하는 쿼리를 작성해주세요.
SELECT SUM(price) FROM products;
3. 상품 주문이 들어왔으니 주문을 처리해봅시다!
이제 상품 주문이 들어왔으니 어떤 고객에게 어떤 주문이 들어왔는지를 파악할 수 있는 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)만 선택하는 쿼리를 작성해주세요!
SELECT customer_id FROM orders WHERE amount >= 2;
10.orders
테이블에서 2023년 11월 2일 이후에 주문된 주문 수량(amount)이 2개 이상인 주문을 선택하는 쿼리를 작성해주세요!
SELECT id FROM orders WHERE order_date > '2023-11-02' AND amount >= 2;
11.orders
테이블에서 주문 수량이 3개 미만이면서 배송비(shipping_fee)가 15000원보다 비싼 주문을 선택하는 쿼리를 작성해주세요!
SELECT id FROM orders WHERE amount < 3 AND shipping_fee > 15000;
12.orders
테이블에서 배송비가 높은 금액 순으로 정렬하는 쿼리를 작성해주세요!
SELECT id FROM orders ORDER BY shipping_fee DESC;
4. 이제 놀만큼 놀았으니 다시 공부해봅시다!
아래와 같은 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)을 선택하는 쿼리를 작성해주세요!
SELECT name, track FROM sparta_students;
14.sparta_students
테이블에서 Unity 트랙 소속이 아닌 학생들을 선택하는 쿼리를 작성해주세요!
SELECT id FROM sparta_students WHERE track <> 'Unity';
15.sparta_students
테이블에서 입학년도(enrollment_year)가 2021년인 학생과 2023년인 학생을 선택하는 쿼리를 작성해주세요!
SELECT id FROM sparta_students WHERE enrollment_year IN ('2021','2023');
16.sparta_students
테이블에서 Node.js 트랙 소속이고 학점이 ‘A’인 학생의 입학년도를 선택하는 쿼리를 작성해주세요!
SELECT enrollment_year FROM sparta_students WHERE track = 'Node.js' AND grade = 'a';