SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS I
WHERE I.NAME IN ('Lucy', 'Ella', 'Pickle', 'Sabrina', 'Mitty')
ORDER BY I.ANIMAL_ID;
📍 AS 대신, 띄어쓰기만으로도 별칭을 지정 가능
IN 연산자
: WHERE 절에서 특정값 여러개를 선택하는 SQL 연산자
-> 괄호 내의 값 중 일치하는 것이 있으면 TRUE 반환
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE ANIMAL_TYPE = 'Dog' and NAME LIKE '%el%'
order by name;
LIKE 절
: 어떤 조건을 만족시키는 컬럼을 찾을 때 사용
-> %와 _ 같은 기호 연산자(wild card)와 함께 사용
-> %는 ‘모든 문자’라는 의미고, _ 는 ‘한 글자’라는 의미
-> 조건에는 문자나 숫자를 포함 가능
1) 첫 번째 방법
SELECT ANIMAL_ID, NAME, IF(SEX_UPON_INTAKE LIKE "Intact%", 'X', 'O') AS '중성화'
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;
2) 두 번째 방법
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 조건1 THEN 값1 WHEN 조건2 THEN 값2 ELSE 값3 END
SELECT O.ANIMAL_ID, O.NAME, O.DATETIME - I.DATETIME
FROM ANIMAL_INS I JOIN ANIMAL_OUTS O
ON I.ANIMAL_ID = O.ANIMAL_ID
ORDER BY O.DATETIME - I.DATETIME DESC
LIMIT 2;
📍 JOIN은 다른 포스팅에서 정리
SELECT ANIMAL_ID, NAME, DATE_FORMAT(DATETIME, '%Y-%m-%d') AS '날짜'
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;
DATE_FORMAT(날짜, 형식)
: 날짜를 지정한 형식으로 출력
참고: https://www.w3schools.com/sql/func_mysql_date_format.asp