Algorithm/MySQL

[programmers] 동물보호소

beomzh 2024. 4. 29. 10:49
728x90
반응형

테이블 생성

CREATE TABLE ANIMAL_INS(
    ANIMAL_ID VARCHAR(N) NOT NULL, 
    ANIMAL_TYPE VARCHAR(N) NOT NULL, 
    DATETIME DATETIME NOT NULL, 
    INTAKE_CONDITION VARCHAR(N) NOT NULL, 
    NAME VARCHAR(N) NULL, 
    SEX_UPON_INTAKE VARCHAR(N) NOT NULL
);

INSERT INTO ANIMAL_INS
VALUES(
    ?,
    ?,
    ?,
    ?,
    ?,
    ?
);

59035 역순 정렬하기

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

SELECT
    NAME,
    DATETIME
FROM
    ANIMAL_INS 
ORDER BY 
    ANIMAL_ID  DESC

59036 아픈동물 찾기

-- 동물 보호소에 들어온 동물 중 아픈 동물의 아이디와 이름을 조회하는 SQL 문을 작성해주세요. 이때 결과는 아이디 순으로 조회해주세요.
SELECT
    ANIMAL_ID,
    NAME
FROM 
    ANIMAL_INS
WHERE INTAKE_CONDITION ="Sick"
ORDER BY ANIMAL_ID

59037 어린동물 찾기

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


SELECT
    ANIMAL_ID,
    NAME
FROM
    ANIMAL_INS
WHERE INTAKE_CONDITION !="Aged"
ORDER BY ANIMAL_ID ASC

동물의 아이디와 이름

-- 동물 보호소에 들어온 모든 동물의 아이디와 이름을 ANIMAL_ID순으로 조회하는 SQL문
SELECT
    ANIMAL_ID,
    NAME
FROM
    ANIMAL_INS
ORDER BY ANIMAL_ID

59404 여러기준 정렬하기

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

59405 상위 n 개 레코드

-- 상위 n개 레코드
-- 동물 보호소에 가장 먼저 들어온 동물의 이름을 조회하는 SQL 문
-- MIN(A) = 가장 옛날값
-- MAX(A) = 가장 최근값
SELECT
    NAME
FROM
    ANIMAL_INS
WHERE DATETIME =(
                SELECT 
                    MIN(DATETIME) 
                FROM
                    ANIMAL_INS
                );
728x90
반응형