(수근수근)

[프로그래머스] SQL문제풀기 & 정리 본문

Algorithm

[프로그래머스] SQL문제풀기 & 정리

InformationFarm 2020. 5. 25. 16:00

프로그래머스는 MySQL을 이용하여 진행된다. 

루시와 엘라 찾기

https://programmers.co.kr/learn/courses/30/lessons/59046

동물 보호소에 들어온 동물 중 이름이 Lucy, Ella, Pickle, Rogan, Sabrina, Mitty인 동물의 아이디와 이름, 성별 및 중성화 여부를 조회하는 SQL 문을 작성해주세요.예시

이때 결과는 아이디 순으로 조회해주세요. 

 

[ point ]

  • where 절 조건 여러개
    • in 을 이용하는 게 좋다. OR보다 속도가 빠름.
    • WHERE name  IN ('name1','name3')
  • order by 정렬
    • 오름차순 (default) :  SELECT * FROM 테이블 ORDER BY 컬럼1 ASC;
    • 내림차순 : SELECT * FROM 테이블 ORDER BY 컬럼1 DESC;
SELECT ANIMAL_ID,NAME,SEX_UPON_INTAKE from ANIMAL_INS
WHERE NAME IN ('Lucy','Ella','Pickle','Rogan','Sabrina','Mitty')
ORDER BY ANIMAL_ID ;

이름에 el이 들어가는 동물 찾기

https://programmers.co.kr/learn/courses/30/lessons/59047

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

 

[ POINT ]

  • 일치하는 텍스트 찾아오기
    • WHERE 컬럼 LIKE "%특정텍스트%"; 
SELECT  ANIMAL_ID, NAME FROM ANIMAL_INS 
WHERE NAME LIKE  "%el%" AND ANIMAL_TYPE = "Dog"
ORDER BY NAME;

중성화 여부 파악하기

https://programmers.co.kr/learn/courses/30/lessons/59409

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

 

  • 새로운 컬럼 만들기
  • 새로운 컬럼에 값 제공하기 (조건을 통해서)

잉? ALTER를 써야하는데, 음.. 프로그래머스에서 여러 번 명령을 내려도 되는지 의문이 든다.

음 SELET문을 활용해서 컬럼의 별명값을 주는 방식으로 진행하자

  • 컬럼명에 별명 짓기
    • SELETE colume AS '바꿀 컬럼 값'
      • CASE WHEN 컬럼명 [=, LIKE]  '컬럼값'  then '바꿀 컬럼값'
      • ELSE '조건절에 포함이 되지않는 컬럼값'
      • end
      • AS 컬럼의 별칭값
SELECT ANIMAL_ID,NAME,
 case when SEX_UPON_INTAKE LIKE "Neutered%" then 'O'
    when SEX_UPON_INTAKE LIKE "Spayed%" then 'O'
    ELSE 'X'
 end
 AS "중성화"
FROM ANIMAL_INS
ORDER BY ANIMAL_ID
;

오랜 기간 보호한 동물(2)

 

'Algorithm' 카테고리의 다른 글

SQL 정리  (0) 2020.05.27
[백준] 단어공부  (0) 2020.05.26
[백준] 2667 단지번호붙이기  (0) 2020.04.20
[백준] DFS와 BFS  (0) 2020.04.06
[프로그래머스] 전화번호 목록  (0) 2020.03.19
Comments