Computer Science(64)
-
[프로그래머스 - MYSQL] 오랜 기간 보호한 동물(2)
입양을 간 동물 중, 보호 기간이 가장 길었던 동물 두 마리의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 기간이 긴 순으로 조회해야 합니다. SELECT INS.ANIMAL_ID, INS.NAME FROM ANIMAL_INS AS INS JOIN ANIMAL_OUTS AS OUTS ON INS.ANIMAL_ID = OUTS.ANIMAL_ID ORDER BY (OUTS.DATETIME-INS.DATETIME) DESC LIMIT 2 보호기간이 가장 긴 동물을 조회 - 보호기간이 길다 = INS.DATETIME 과 OUTS.DATETIME을 비교해야함 - 두 테이블을 JOIN 하여 ORDER BY로 정렬
2022.01.31 -
[프로그래머스 - MYSQL] 중성화 여부 파악하기
보호소의 동물이 중성화되었는지 아닌지 파악하려 합니다. 중성화된 동물은 SEX_UPON_INTAKE 컬럼에 'Neutered' 또는 'Spayed'라는 단어가 들어있습니다. 동물의 아이디와 이름, 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성해주세요. 이때 중성화가 되어있다면 'O', 아니라면 'X'라고 표시해주세요. SELECT INS.ANIMAL_ID, INS.NAME , CASE WHEN INS.SEX_UPON_INTAKE LIKE '%Neutered%' OR INS.SEX_UPON_INTAKE LIKE '%Spayed%' THEN 'O' ELSE 'X' END AS '중성화' FROM ANIMAL_INS AS INS Neutered 일 경우 0 (~일경우 00) 입력 - IF문(MYSQL에..
2022.01.30 -
[프로그래머스 - MYSQL] 이름에 el이 들어가는 동물 찾기
보호소에 돌아가신 할머니가 기르던 개를 찾는 사람이 찾아왔습니다. 이 사람이 말하길 할머니가 기르던 개는 이름에 'el'이 들어간다고 합니다. 동물 보호소에 들어온 동물 이름 중, 이름에 "EL"이 들어가는 개의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 이름 순으로 조회해주세요. 단, 이름의 대소문자는 구분하지 않습니다. SELECT INS.ANIMAL_ID, INS.NAM FROM ANIMAL_INS AS INS WHERE INS.NAME LIKE '%el%' AND INS.ANIMAL_TYPE = 'Dog' ORDER BY INS.NAME el이라는 문자열이 들어간 이름 + 강아지 인 레코드를 조회하는 것이 포인트!
2022.01.30 -
[프로그래머스-MYSQL] 보호소에서 중성화한 동물
보호소에서 중성화 수술을 거친 동물 정보를 알아보려 합니다. 보호소에 들어올 당시에는 중성화되지 않았지만, 보호소를 나갈 당시에는 중성화된 동물의 아이디와 생물 종, 이름을 조회하는 아이디 순으로 조회하는 SQL 문을 작성해주세요. SELECT INS.animal_id, INS.animal_type, INS.name FROM ANIMAL_INS AS INS JOIN ANIMAL_OUTS AS OUTS ON INS.ANIMAL_ID=OUTS.ANIMAL_ID WHERE INS.SEX_UPON_INTAKE LIKE '%Intact%' and (OUTS.SEX_UPON_OUTCOME LIKE'%Spayed%' or OUTS.SEX_UPON_OUTCOME LIKE'%Neutered%') ORDER BY ins...
2022.01.30 -
[프로그래머스 - MYSQL] 오랜 기간 보호한 동물(1)
아직 입양을 못 간 동물 중, 가장 오래 보호소에 있었던 동물 3마리의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 시작일 순으로 조회해야 합니다. SELECT INS.NAME, INS.DATETIME FROM ANIMAL_INS AS INS LEFT JOIN ANIMAL_OUTS AS OUTS ON INS.ANIMAL_ID=OUTS.ANIMAL_ID WHERE OUTS.ANIMAL_ID IS NULL ORDER BY INS.DATETIME ASC LIMIT 3 아직 입양을 못간 동물(OUTS TABLE에서 ID가 NULL)을 조회 - 입양을 못간 동물은 INS TABLE에는 있으나 OUTS TABLE에는 없는 레코드를 의미 - 두 테이블을 JOIN 한 이후 OUTS TABL..
2022.01.30 -
[프로그래머스 - MYSQL] 있었는데요 없었습니다
관리자의 실수로 일부 동물의 입양일이 잘못 입력되었습니다. 보호 시작일보다 입양일이 더 빠른 동물의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 시작일이 빠른 순으로 조회해야합니다. SELECT INS.ANIMAL_ID, INS.NAME FROM ANIMAL_INS AS INS JOIN ANIMAL_OUTS AS OUTS ON INS.ANIMAL_ID = OUTS.ANIMAL_ID WHERE INS.DATETIME > OUTS.DATETIME ORDER BY INS.DATETIME 보호시작일(INS DATETIME)보다 빠른 입양일(OUTS DATETIME) 조회 - JOIN 없이 WHERE 절로 조건을 실행할 경우 각 행의 모든 경우의 수에 조건을 대입하게 된다(절대 금지!) -..
2022.01.30