회사 코딩테스트를 대비해서 한번 정리했다. 하지만 코딩테스트의 결과는 좋지 않았다. 그래도 매번 귀찮게 찾아보는 것보다 한번에 보는 것이 나아서 정리했다.

WHERE 함수

OR

SELECT * FROM 테이블명 WHERE 조건1 OR 조건2

테이블명의 테이블에서 조건1조건2 중 어떤 하나라도 만족하는 행의 모든 열을 선택

AND

SELECT * FROM 테이블명 WHERE 조건1 AND 조건2

테이블명의 테이블에서 조건1과 조건2 둘다 만족하는 행의 모든 열을 선택

BETWEEN

SELECT * FROM 테이블명 WHERE 속성1 BETWEEN 값1 AND 값2

테이블명의 테이블에서 속성1의 값이 값1과 값2의 사이인 행의 모든 열을 선택

IN

SELECT * FROM 테이블명 WHERE 속성1 IN (조건1, 조건2, ...)

테이블명의 테이블에서 속성의 값이 조건1이거나 조건2인 행의 모든 열을 선택

NOT

SELECT * FROM 테이블명 WHERE NOT 조건1

테이블명의 테이블에서 조건1을 만족하지 않는 행의 모든열을 선택

LIKE

SELECT * FROM 테이블명 WHERE 속성1 LIKE 'A_'

테이블명의 테이블에서 속성1 중 ‘A+1글자’값을 가진 행의 모든 열을 선택

SELECT * FROM 테이블명 WHERE 속성1 LIKE 'A%'

테이블명의 테이블에서 속성1 중 ‘A’로 시작하는 행의 모든 열을 선택

ORDER BY

SELECT * FROM 테이블명 ORDER BY 속성1 순서

테이블명의 테이블을 속성1의 순서에 따라 모든 열을 출력

순서에는 DESC(내림차순), ASC(오름차순)이 있음

GROUP BY

HAVING

SELECT * FROM 테이블명 WHERE 조건 GROUP BY 컬럼명 HAVING 조건

GROUP BY는 보통 집합 함수(Aggregate function, [AVG, SUM, COUNT, …])와 많이 쓰이며 다음과 같은 형식을 지님

SELECT
	c1, c2, ... ,cn, aggregate_function(ci)
FROM
	테이블명
WHERE
	조건
GROUP BY c1, c2, ...
HAVING aggregate_function(ci) # (ex COUNT(*) > 1)

MYSQL 실행순서

  1. FROM : 조회 테이블 확인
  2. WHERE : 데이터 추출 조건 확인
  3. GROUP BY : 컬럼 그룹화
  4. HAVING : 그룹화 조건
  5. SELECT : 데이터 추출
  6. ORDER BY : 데이터 순서 정렬

DISTINCT

SELECT DISTINCT 속성1 FROM 테이블명

테이블명의 테이블에서 속성1이 중복되지 않는 행을 출력

LIMIT

SELECT * FROM 테이블명 LIMIT N

테이블명의 테이블에서 N개의 행을 선택

Aggregate function

함수 설명
COUNT() 행의수 반환
SUM() 합계 반환
MAX() 최대값 반환
MIN() 최소값 반환
AVG() 평균 반환
STDDEV() 표준편차 반환
VARIANT() 분산 반환

숫자 함수

함수 설명
ABS() 절대값
CEILING() 소수점 올림
FLOOR() 소수점 버림
ROUND(숫자, 자릿수) 자릿수 이하를 반올림
TRUNCATE(숫자, 자릿수) 자릿수 이하를 버림
POW() 제곱
MOD() 나머지
GRAEATEST(숫자1, 숫자2, …) 주어진 수 중 가장 큰 수를 가져옴
LEAST(숫자1, 숫자2, …) 주어진 수 중 가장 작은 수를 가져옴

문자열 함수

함수 설명
ASCII(t) t의 아스키 코드값 리턴
CONCAT(t1, t2, …) t1t2 형식의 문자열
LENGTH(t) 문자열 t의 길이
CHAR_LENGTH(t) 문자열 t의 길이
single-byte, multi-byte 미구별
RIGHT(t, x) 문자열 t의 오른쪽 x개
LEFT(t, x) 문자열 t의 왼쪽 x개
MID(t, x, y) 문자열 t의 x위치부터 y개수만큼 출력
TRIM() 양쪽 공백 제거
LTRIM() 왼쪽 공백 제거
RTRIM() 오른쪽 공백 제거
UPPER() 대문자
LOWER() 소문자
SUBSTRING(t, x, y) 문자열 t의 x번째에서 y개의 문자열
SUBSTRING_INDEX(문자열, 구분자, n) 문자열을 구분자로 나눈 후 n번째 요소를 가져옴

태그:

카테고리:

업데이트: