SQL_코드카타(2023.12.11)

김수경·2023년 12월 11일

코드카타

목록 보기
2/29

동물 보호소에 가장 먼저 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요.

SELECT min(datetime) "시간"
from animal_ins 

동물 보호소에 들어온 동물 중 젊은 동물1의 아이디와 이름을 조회하는 SQL 문을 작성해주세요. 이때 결과는 아이디 순으로 조회해주세요.

SELECT animal_id,
name 
from animal_ins 
where intake_condition <> 'Aged'
order by 1 

동물 보호소에 들어온 모든 동물의 아이디와 이름, 보호 시작일을 이름 순으로 조회하는 SQL문을 작성해주세요. 단, 이름이 같은 동물 중에서는 보호를 나중에 시작한 동물을 먼저 보여줘야 합니다.

SELECT animal_id,
name,
datetime
from animal_ins
order by name, datetime desc 

보호소에 돌아가신 할머니가 기르던 개를 찾는 사람이 찾아왔습니다. 이 사람이 말하길 할머니가 기르던 개는 이름에 'el'이 들어간다고 합니다. 동물 보호소에 들어온 동물 이름 중, 이름에 "EL"이 들어가는 개의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 이름 순으로 조회해주세요. 단, 이름의 대소문자는 구분하지 않습니다.

SELECT animal_id,
name
from animal_ins
where name like '%el%' 
order by 2 


틀렸다. 대소문자 구분하지 않는다는 명령어를 써야 하는 걸까?
정답지 확인 : animal_type = Dog인 조건을 놓쳤다.

SELECT animal_id,
name
from animal_ins
where ANIMAL_TYPE = 'dog' and name like '%el%'
order by 2

유의할 점 : 필터조건이 여러개라면 where and로 묶어준다.

USER_INFO 테이블에서 나이 정보가 없는 회원이 몇 명인지 출력하는 SQL문을 작성해주세요. 이때 컬럼명은 USERS로 지정해주세요.

SELECT count(1) "USERS"
from user_info
where age is null 

PRODUCT 테이블에서 판매 중인 상품 중 가장 높은 판매가를 출력하는 SQL문을 작성해주세요. 이때 컬럼명은 MAX_PRICE로 지정해주세요.

SELECT max(price) "MAX_PRICE"
from product 

입양 게시판에 동물 정보를 게시하려 합니다. 동물의 생물 종, 이름, 성별 및 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성해주세요. 이때 프로그래밍을 모르는 사람들은 NULL이라는 기호를 모르기 때문에, 이름이 없는 동물의 이름은 "No name"으로 표시해 주세요.

SELECT animal_type,
if(name = null, 'No Name', name) "NAME", 
SEX_UPON_INTAKE
from animal_ins
order by animal_id 


null값이 "No Name"으로 채워지지 않는다.

SELECT animal_type,
if(name is null, 'No name', name) "NAME", 
SEX_UPON_INTAKE
from animal_ins
order by animal_id

null은 빈값이기 때문에 is null로 넣어줬더니 정답.
해답을 보니 아래와 같은 구문도 가능하다.

SELECT ANIMAL_TYPE, coalesce(NAME,'No name') as "NAME", SEX_UPON_INTAKE
    from ANIMAL_INS
    order by animal_id

FOOD_WAREHOUSE 테이블에서 경기도에 위치한 창고의 ID, 이름, 주소, 냉동시설 여부를 조회하는 SQL문을 작성해주세요. 이때 냉동시설 여부가 NULL인 경우, 'N'으로 출력시켜 주시고 결과는 창고 ID를 기준으로 오름차순 정렬해주세요.

SELECT warehouse_id,
warehouse_name, 
address,
if(freezer_YN is null, 'N', freezer_YN) "freezer_YN"
from food_warehouse
where address like '%경기도%'
order by 1 

FOOD_FACTORY 테이블에서 강원도에 위치한 식품공장의 공장 ID, 공장 이름, 주소를 조회하는 SQL문을 작성해주세요. 이때 결과는 공장 ID를 기준으로 오름차순 정렬해주세요.

SELECT factory_id,
factory_name,
address 
from food_factory
where address like '%강원도%' 
order by 1 

ANIMAL_INS 테이블에 등록된 모든 레코드에 대해, 각 동물의 아이디와 이름, 들어온 날짜1를 조회하는 SQL문을 작성해주세요. 이때 결과는 아이디 순으로 조회해야 합니다.

SELECT animal_id,
name,
date_format(datetime, '%Y-%m-%d')
from animal_ins 
order by 1 

DOCTOR 테이블에서 진료과가 흉부외과(CS)이거나 일반외과(GS)인 의사의 이름, 의사ID, 진료과, 고용일자를 조회하는 SQL문을 작성해주세요. 이때 결과는 고용일자를 기준으로 내림차순 정렬하고, 고용일자가 같다면 이름을 기준으로 오름차순 정렬해주세요. 날짜포맷은 2000-01-02

SELECT dr_name,
dr_id,
mcdp_cd,
date_format(hire_ymd, '%Y-%m-%d')
from doctor 
where mcdp_cd = 'CS' or mcdp_cd='GS'
order by 4 desc, 1

FOOD_PRODUCT 테이블에서 가격이 제일 비싼 식품의 식품 ID, 식품 이름, 식품 코드, 식품분류, 식품 가격을 조회하는 SQL문을 작성해주세요.

SELECT product_id, 
product_name,
product_cd,
category,
price 
from food_product 
order by price desc
limit 1 
profile
잘 하고 있는겨?

0개의 댓글