[프로그래머스] SQL - Lev.1

문제링크

https://programmers.co.kr/learn/challenges

SELECT

[ 모든 레코드 조회하기 ]

Q ) 동물 보호소에 들어온 모든 동물의 정보를 ANIMAL_ID순으로 조회하는 SQL문을 작성해주세요.

SELECT *
FROM ANIMAL_INS
ORDER BY ANIMAL_ID

[ 역순 정렬하기 ]

Q ) 동물 보호소에 들어온 모든 동물의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요. 이때 결과는 ANIMAL_ID 역순으로 보여주세요.

SELECT NAME, DATETIME
FROM ANIMAL_INS
ORDER BY ANIMAL_ID DESC

[ 아픈 동물 찾기 ]

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

SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION = 'Sick'
ORDER BY ANIMAL_ID   #생략가능(defult)

[ 어린 동물 찾기 ]

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

SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION <> 'Aged'     
ORDER BY ANIMAL_ID   #생략가능(default)

TIP )   not 연산자:   <>  or  !=  사용가능

[ 동물의 아이디와 이름 ]

Q ) 동물 보호소에 들어온 모든 동물의 아이디와 이름을 ANIMAL_ID순으로 조회하는 SQL문을 작성해주세요.

SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
ORDER BY ANIMAL_ID   #생략가능(default)

[ 여러 기준으로 정렬하기 ]

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

SELECT ANIMAL_ID, NAME, DATETIME
FROM ANIMAL_INS
ORDER BY NAME, DATETIME DESC

TIP ) NAME은 ASC가 생략된 것임 ( default = ASC )

[ 상위 n개 레코드 ]

Q ) 동물 보호소에 가장 먼저 들어온 동물의 이름을 조회하는 SQL 문을 작성해주세요.

SELECT NAME
FROM ANIMAL_INS
ORDER BY DATETIME
LIMIT 1

IS NULL

[ 이름이 없는 동물의 아이디 ]

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

SELECT ANIMAL_ID
FROM ANIMAL_INS
WHERE NAME is NULL
ORDER BY ANIMAL_ID    #생략가능

[ 이름이 있는 동물의 아이디 ]

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

SELECT ANIMAL_ID
FROM ANIMAL_INS
WHERE NAME is not NULL
ORDER BY ANIMAL_ID    #생략가능

SUM, MAX, MIN

[ 최댓값 구하기 ]

Q ) 가장 최근에 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요.

SELECT MAX(DATETIME)
FROM ANIMAL_INS

or...

SELECT DATETIME
FROM ANIMAL_INS
ORDER BY DATETIME DESC  #오름차순 (가장 최근순)
LIMIT 1

좋은 웹페이지 즐겨찾기