20240614 Today I Learned
@알고리즘 SQL
26번 - 입양 시각 구하기
09:00부터 19:59까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성. 이때 결과는 시간대 순으로 정렬
select hour(datetime) HOUR,
count(*) COUNT
from animal_outs
where hour(datetime) between '9' and '19'
group by hour
order by hour
27번 - 진료과별 총 예약 횟수 출력하기
APPOINTMENT 테이블에서 2022년 5월에 예약한 환자 수를 진료과코드 별로 조회하는 SQL문을 작성. 이때, 컬럼명은 '진료과 코드', '5월예약건수'로 지정해주시고 결과는 진료과별 예약한 환자 수를 기준으로 오름차순 정렬하고, 예약한 환자 수가 같다면 진료과 코드를 기준으로 오름차순 정렬
select mcdp_cd '진료과코드'
count(apnt_ymd) '5월예약건수'
from appointment
where apnt_ymd like '2022-05%'
group by 1
order by 2, 1
28번 - 12세 이하인 여아 환자 목록 출력하기
PATIENT 테이블에서 12세 이하인 여자환자의 환자이름, 환자번호, 성별코드, 나이, 전화번호를 조회하는 SQL문을 작성. 이때 전화번호가 없는 경우, 'NONE'으로 출력시켜 주시고 결과는 나이를 기준으로 내림차순 정렬하고, 나이 같다면 환자이름을 기준으로 오름차순 정렬
select pt_name,
pt_no,
gend_cd,
age,
coalesce(tlno, 'NONE') TLNO
from patient
where age<=12 and gend_cd='W'
order by 4 desc, 1
연습문제1) 돈을 벌기 위해 일을 합시다.
1.practice1 테이블에서 모든 직원의 이름(name)과 직급(position)을 선택하는 쿼리를 작성해주세요.
2.practice1 테이블에서 중복 없이 모든 직급(position)을 선택하는 쿼리를 작성해주세요.
3.practice1 테이블에서 연봉(salary)이 40000과 60000 사이인 직원들을 선택하는 쿼리를 작성해주세요.
4.practice1 테이블에서 입사일(hire_date)이 2023년 1월 1일 이전인 모든 직원들을 선택하는 쿼리를 작성해주세요.
연습문제 2) 이제 좀 벌었으니 flex 한 번 해볼까요?!
5.practice2 테이블에서 제품 이름(product_name)과 가격(price)만을 선택하는 쿼리를 작성해주세요.
select product_name,
price
from practice2
6.practice2 테이블에서 제품 이름에 '프로'가 포함된 모든 제품을 선택하는 쿼리를 작성해주세요.
select product_name
from practice2
where product_name like '%프로%'
7.practice2 테이블에서 제품 이름이 '갤'로 시작하는 모든 제품을 선택하는 쿼리를 작성해주세요.
select product_name
from practice2
where product_name like '갤%'
8.practice2 테이블에서 모든 제품을 구매하기 위해 필요한 돈을 계산하는 쿼리를 작성해주세요.
select sum(price)
from practice2
연습문제 3) 상품 주문이 들어왔으니 주문을 처리해봅시다!
9.practice4 테이블에서 주문 수량(amount)이 2개 이상인 주문을 진행한 소비자의 ID(customer_id)만 선택하는 쿼리를 작성해주세요!
select customer_id
from pracitce3
where amount>=2
10.practice4 테이블에서 2023년 11월 2일 이후에 주문된 주문 수량(amount)이 2개 이상인 주문을 선택하는 쿼리를 작성해주세요!
select *
from practice3
where amount>2 and order_date>'2023-11-02'
11.practice4 테이블에서 주문 수량이 3개 미만이면서 배송비(shipping_fee)가 15000원보다 비싼 주문을 선택하는 쿼리를 작성해주세요!
select *
from practice3
where amount<3 and shipping_fee>15000
12.practice4 테이블에서 배송비가 높은 금액 순으로 정렬하는 쿼리를 작성해주세요!
select *
from practice3
order by shipping_fee desc
연습문제4) 이제 놀만큼 놀았으니 다시 공부해봅시다!
13.practice4 테이블에서 모든 학생의 이름(name)과 트랙(track)을 선택하는 쿼리를 작성해주세요!
select name,
track
from practice4
14.practice4 테이블에서 Unity 트랙 소속이 아닌 학생들을 선택하는 쿼리를 작성해주세요!
select *
from practice4
where track<>'Unity'
15.practice4 테이블에서 입학년도(enrollment_year)가 2021년인 학생과 2023년인 학생을 선택하는 쿼리를 작성해주세요!
뭐가 다른지에 대해서는 물어봐야 할 것 같다!
#내 답안
select *
from practice4
where enrollment_year=2021 or enrollment_year=2023
#선생님 답안
select *
from practice4
where enrollment_year in (2021, 2023)
16.practice4 테이블에서 Node.js 트랙 소속이고 학점이 ‘A’인 학생의 입학년도를 선택하는 쿼리를 작성해주세요!
select *
from practice4
where track='Node.js' and grade = 'A'
연습문제5) 공부하다보니 팀 프로젝트 시간이 왔어요!
17.practice5 테이블에서 AWS 예산(aws_cost)이 40000 이상 들어간 프로젝트들의 이름을 선택하는 쿼리를 작성해주세요!
select *
from practice5
where aws_cost>=40000
18.practice5 테이블에서 2022년에 시작된 프로젝트를 선택하는 쿼리를 작성해주세요! 단, start_date < ‘2023-01-01’ 조건을 사용하지 말고 쿼리를 작성해주세요!
select *
from practice5
where end_date like '2022-%'
19.practice5 테이블에서 현재 진행중인 프로젝트를 선택하는 쿼리를 작성해주세요. 단, 지금 시점의 날짜를 하드코딩해서 쿼리하지 말아주세요!
select id,
name,
start_date,
end_date,
aws_cost
from practice5
where curdate() between start_date and end_date
'✨Today I Learned' 카테고리의 다른 글
SQL 라이브 3일차 숙제 (0) | 2024.06.28 |
---|---|
SQL 라이브 세션 1~2일차 숙제 (0) | 2024.06.27 |
SQL 코드카타 25번/SQL 과제1~3/파이썬 코드 정리 (0) | 2024.06.13 |
SQL코드카타24번/ 파이썬 코드카타 9번~13번 (0) | 2024.06.12 |
SQL코드카타 20번~23번/ 파이썬코드카타 7번,8번 (0) | 2024.06.11 |