https://programmers.co.kr/learn/courses/30/lessons/59046
SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE FROM ANIMAL_INS
WHERE NAME IN ('Lucy','Ella','Pickle','Rogan','Sabrina','Mitty')
ORDER BY ANIMAL_ID;
특정 문자열들이 들어간 경우를 찾을 땐 IN ('문자열1','문자열2',....) 를 사용하자
반대로 안들어간 경우일땐 NOT IN을 하면 된다.
https://programmers.co.kr/learn/courses/30/lessons/59047
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
SELECT ANIMAL_ID, NAME,
IF(SEX_UPON_INTAKE LIKE "INTACT%",'X','O') "중성화"
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;
IF문 활용하기
SEX_UPON_INTAKE의 값이 INTACT로 시작하면 X, 아니면 O로 나타내고 애트리뷰트 이름을 중성화로 출력하라는 의미이다.
SELECT ANIMAL_ID, NAME,
CASE
WHEN SEX_UPON_INTAKE LIKE "INTACT%"
THEN 'X'
ELSE
'O'
END AS "중성화"
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;
CASE문 활용하기
위와 똑같은 의미로 CASE ~ WHEN THEN ~ ELSE ~ END로 구성된다.
https://programmers.co.kr/learn/courses/30/lessons/59411
SELECT INS.ANIMAL_ID, INS.NAME
FROM ANIMAL_INS INS
INNER JOIN ANIMAL_OUTS OUTS
ON INS.ANIMAL_ID=OUTS.ANIMAL_ID
ORDER BY OUTS.DATETIME-INS.DATETIME DESC
LIMIT 2;
https://programmers.co.kr/learn/courses/30/lessons/59414
SELECT ANIMAL_ID, NAME, DATE_FORMAT(DATETIME,'%Y-%m-%d') AS '날짜'
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;
기존 2018-01-22 14:32:00 과 같은 포맷을 2018-01-22로 바꾸기 위해 DATE_FORMAT() 함수를 사용해주었다. 원하는 형식에 따라 %Y-%m-%d식으로 써주면 된다. %M-%D로 쓰게되면 January-22nd와 같이 영어로 나온다.
'Develop > SQL' 카테고리의 다른 글
[프로그래머스] SQL 고득점 키트 (MySQL) - JOIN (0) | 2021.09.15 |
---|---|
[프로그래머스] SQL 고득점 키트 (MySQL) - NOT NULL, CASE (0) | 2021.09.15 |
[프로그래머스] SQL 고득점 키트 (MySQL) - GROUP BY (0) | 2021.09.14 |
[프로그래머스] SQL 고득점 키트 (MySQL) - SUM,MAX,MIN (0) | 2021.09.14 |
[프로그래머스] SQL고득점 키트 (MySQL) - SELECT (0) | 2021.09.14 |
댓글