--추가예정--
형식: IF ( Condition, Statements for True, Statements for False )
SELECT ANIMAL_TYPE, IF (NAME IS NULL, "No name", NAME) AS NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS
ORDER BY ANIMAL_ID ASC;
형식: CASE WHEN 조건1 THEN 값1 WHEN 조건2 THEN 값2 ELSE 값3 END
SELECT ANIMAL_TYPE,
CASE
WHEN NAME IS NULL THEN "No name"
WHEN NAME IS NOT NULL THEN NAME
ELSE "ERROR"
END AS NAME,
SEX_UPON_INTAKE
FROM ANIMAL_INS
ORDER BY ANIMAL_ID ASC;
형식: IFNULL(값1, 값2)
SELECT ANIMAL_TYPE, IFNULL(NAME,'No name') AS NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS
ORDER BY ANIMAL_ID ASC;
SELECT * FROM TABLE1 LEFT JOIN TABLE2 ON TABLE1.KEY = TABLE2.KEY;
SELECT * FROM TABLE1 LEFT JOIN TABLE2 ON TABLE1.KEY = TABLE2.KEY;
WHERE TABLE2.KEY IS NULL;
SELECT * FROM TABLE1 JOIN TABLE2 ON TABLE1.KEY = TABLE2.KEY;
OR
SELECT * FROM TABLE1 INNER JOIN TABLE2 ON TABLE1.KEY = TABLE2.KEY;
SELECT * FROM Table1 LEFT JOIN Table2 ON Table1.KEY = Table2.KEY
UNION
SELECT * FROM Table1 RIGHT JOIN Table2 on Table1.KEY = Table2.KEY
ORDER BY id asc;
SELECT * FROM TABLE1 NATURAL JOIN TABLE2
LIMIT N(Numeric number)
을 사용하면 앞에서부터 N개만 뽑아올 수 있다.ORDER BY ASC/DESC
와 함께 사용하면 정렬된 순서에서 상위 N개. 하위 N개만 추출 가능SELECT A.NAME, A.DATETIME
FROM ANIMAL_INS AS A LEFT JOIN ANIMAL_OUTS AS B ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE B.ANIMAL_ID IS NULL
ORDER BY A.DATETIME
LIMIT 3
OR
를 사용하여 단순히 이름을 나열하는 방법도 있지만, IN
을 사용하면 조금 더 간결하고 쉽게 찾을 수 있다.SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS
WHERE NAME IN ("Lucy","Ella","Pickle","Rogan","Sabrina","Mitty");
LIKE
와 %
를 사용하여 이름 중에도 특정 String이나 문자가 포함되어 있는 경우를 검색할 수 있다.SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE ANIMAL_TYPE = "Dog" AND NAME LIKE "%EL%"
ORDER BY NAME;
ANIMAL_INS
Table에서 타입이 강아지이면서 이름에 “EL”이라는 특정 문자열이 들어가는 경우에만 값을 반환하게 된다.%
는 앞뒤로 다른 문자가 존재한다는 것을 의미한다. 해당 기호를 사용하여 접두사나 접미어등을 쉽게 찾을 수도 있다.SELECT ANIMAL_ID, NAME, DATE_FORMAT(DATETIME, "%Y-%m-%d") AS 날짜
FROM ANIMAL_INS