✔️ 위 내용은 코딩애플 SQL & DATABASE 강의를 듣고 스스로 정리한 내용입니다.
특정 단어가 들어있는지 검색하려면 LIKE
SELECT * FROM COOKIE WHERE 과자명 LIKE '%초코%'
SELECT * FROM COOKIE WHERE 과자명 LIKE '%초코'
SELECT * FROM COOKIE WHERE 과자명 LIKE '초코%'
참고) 문자검색 문법이라 문자가 저장된 컬럼에서만 검색가능
- CHAR(6) 데이터타입의 경우 총 6자를 저장할 수 있는데 4자만 입력해도 나머지 뒷부분 2자를 공백으로 꽉 채워준다.
- 예를 들어서 '딸기초코'를 저장해도 '딸기초코(공백공백)' 이렇게 저장된다.
- 그래서 CHAR 컬럼은 % 써서 검색시 의도와 다르게 동작할 수 있음.
'%초코' 이렇게 검색해도 '딸기초코 ' 이건 못찾음
정확히 글자수까지 포함해서 검색하고 싶을때 사용
%와 마찬가지로 아무 글자인데, %는 글자수 제한이 없다. (0자 포함)
_ 는 아무글자 1개를 뜻한다.(글자 수 지정)
SELECT * FROM COOKIE WHERE 과자명 LIKE 'ㅣ__초코'
% 기호 많이 쓰면 성능저하가 일어날 수 있다.
SELECT * FROM COOKIE WHERE 과자명 LIKE 'red%bread'
SELECT * FROM COOKIE WHERE 과자명 LIKE '%red%' OR 과자명 LIKE '%bread%'
SELECT * FROM COOKIE WHERE 과자명 LIKE '%red%' AND NOT 과자명 LIKE '%bread%'
SELECT MAX(재산) FROM KOREA
SELECT MIN(재산) FROM KOREA
SELECT AVG(재산) FROM KOREA
SELECT SUM(재산) FROM KOREA
COUNT() : 행의 개수를 세고 싶을 때
AS : 컬럼명 바꿀 때
DISTINCT : 중복 데이터 제거
LIMIT: MIN, MAX 대신에 사용 가능
SELECT COUNT(*) FROM KOREA
SELECT AVG(재산) AS 부자 FROM KOREA WHERE 등급 = "vip"
AS로 치환하는 것을 allias라고 한다.
주의점은 AS 뒤에 작명할 때 실제 있는 컬럼명 말고 다른 단어를 작명하는게 좋다.
SELECT AVG(DISTINCT 연체횟수) FROM card
같은 의미
데이터가 많을 경우 테스트 해보고 더 빠른걸 쓰면 된다.
LIMIT로 하면 출력되는 행의 갯수를 제한을 두고 싶으면 맨 뒤에 LIMIT 행갯수
SELECT MAX(연체횟수) FROM card
SELECT * FROM card ORDER BY 연체횟수 DESC LIMIT 1;
SELECT COUNT (연체횟수) FROM card
WHERE 연체횟수 <= 1