SQL_코드카타(2023.12.12)

김수경·2023년 12월 12일

코드카타

목록 보기
3/29

동물 보호소에 들어온 동물 중, 이름이 없는 채로 들어온 동물의 ID를 조회하는 SQL 문을 작성해주세요. 단, ID는 오름차순 정렬되어야 합니다.

SELECT animal_id
from animal_ins 
where name is null 
order by 1 

USER_INFO 테이블에서 2021년에 가입한 회원 중 나이가 20세 이상 29세 이하인 회원이 몇 명인지 출력하는 SQL문을 작성해주세요.

SELECT count(1)
from user_info 
where date_format(joined, '%Y') = 2021 and age between 20 and 29

보호소의 동물이 중성화되었는지 아닌지 파악하려 합니다. 중성화된 동물은 SEX_UPON_INTAKE 컬럼에 'Neutered' 또는 'Spayed'라는 단어가 들어있습니다. 동물의 아이디와 이름, 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성해주세요. 이때 중성화가 되어있다면 'O', 아니라면 'X'라고 표시해주세요.

SELECT animal_id,
name, 
case when sex_upon_intake like '%Neutered%' or sex_upon_intake  like '%Spayed%' then 'O'
          else 'X' end "중성화" 
from animal_ins 
order by 1 

PRODUCT 테이블에서 상품 카테고리 코드(PRODUCT_CODE 앞 2자리) 별 상품 개수를 출력하는 SQL문을 작성해주세요. 결과는 상품 카테고리 코드를 기준으로 오름차순 정렬해주세요.

SELECT substring(product_code, 1, 2) "CATEGORY",
count(1)
from product
group by 1 

동물 보호소에 들어온 동물 중 고양이와 개가 각각 몇 마리인지 조회하는 SQL문을 작성해주세요. 이때 고양이를 개보다 먼저 조회해주세요.

SELECT animal_type,
count(1) 
from animal_ins 
group by 1
order by 1 

보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 09:00부터 19:59까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다.

SELECT date_format(datetime, '%H'),
count(1)
from animal_outs
where date_format(datetime, '%H') between 09 and 20 
group by 1 
order by 1

APPOINTMENT 테이블에서 2022년 5월에 예약한 환자 수를 진료과코드 별로 조회하는 SQL문을 작성해주세요. 이때, 컬럼명은 '진료과 코드', '5월예약건수'로 지정해주시고 결과는 진료과별 예약한 환자 수를 기준으로 오름차순 정렬하고, 예약한 환자 수가 같다면 진료과 코드를 기준으로 오름차순 정렬해주세요.

SELECT  MCDP_CD "진료과 코드",
count(1) "5월예약건수"
from appointment 
where date_format(apnt_ymd, '%Y%m') = 202205
group by 1
order by 2 , 1


틀렸다.
다시 확인해보니 날짜 202205에 '가 빠졌다.

SELECT  MCDP_CD "진료과 코드",
count(1) "5월예약건수"
from appointment 
where date_format(apnt_ymd, '%Y%m') = '202205'
group by 1
order by 2 , 1

PATIENT 테이블에서 12세 이하인 여자환자의 환자이름, 환자번호, 성별코드, 나이, 전화번호를 조회하는 SQL문을 작성해주세요. 이때 전화번호가 없는 경우, 'NONE'으로 출력시켜 주시고 결과는 나이를 기준으로 내림차순 정렬하고, 나이 같다면 환자이름을 기준으로 오름차순 정렬해주세요.

SELECT pt_name,
pt_no,
gend_cd,
age,
if(tlno is null, "NONE", tlno) "TLNO"
from patient 
where age <= 12 and gend_cd = 'W'
order by 4 desc, 1 

상반기에 판매된 아이스크림의 맛을 총주문량을 기준으로 내림차순 정렬하고 총주문량이 같다면 출하 번호를 기준으로 오름차순 정렬하여 조회하는 SQL 문을 작성해주세요.

SELECT flavor
from first_half
order by total_order desc, shipment_id 

CAR_RENTAL_COMPANY_CAR 테이블에서 '통풍시트', '열선시트', '가죽시트' 중 하나 이상의 옵션이 포함된 자동차가 자동차 종류 별로 몇 대인지 출력하는 SQL문을 작성해주세요. 이때 자동차 수에 대한 컬럼명은 CARS로 지정하고, 결과는 자동차 종류를 기준으로 오름차순 정렬해주세요.

# issue
# >>> 최초 where in 절을 사용하려 했으나 데이터 추출되지 않음
# script 
# >>> in은 임력한 문자열 포함이 아닌, 일치한 경우 추출하도록 되어있음
# DATA = '가나다라마바'인 경우 in('가나다') x / in('가나다라마바') O
# like를 이용한 구문으로 작성
>>
SELECT car_type,
count(1)
from car_rental_company_car
where options like '%통풍시트%' or options like '%열선시트%' or options like '%가죽시트%'
group by 1
order by 1
profile
잘 하고 있는겨?

0개의 댓글