💡 SELECT문에서 사용 가능한 함수들
조건식
SELECT [* | DISTINCT] 컬럼
FROM TABLE명
[ WHERE 조건 ]
[ GROUP BY 컬럼 ]
[ HAVING 검색조건 ]
[ ORDER BY 컬럼 [ ASC | DESC ]
데이터 처리순서
- FROM
- ON
- JOIN
- WHERE
- GROUP BY
- WITH CUBE 또는 WITH ROLLUP
- HAVING
- SELECT
- DISTINCT
- ORDER BY
- TOP
- 기본
SELECT * FROM TABLE명; // TABLE명에 있는 모든 컬럼의 데이터를 찾는다.
SELECT 컬럼1, 컬럼2, 컬럼3 FROM TABLE명 // TABLE의 컬럼1, 컬럼2, 컬럼3의 데이터를 찾음
SELECT 컬럼1 AS 별칭 FROM TABLE명 // 컬럼1 AS 별칭 데이터를 뽑을때 컬럼1의 컬럼명이 별칭으로 바뀜
- 집계 함수(숫자 데이터)
SUM() // 컬럼 데이터의 합
AVG() // 컬럼 데이터의 평균
COUNT() // 컬럼의 데이터 갯수
MAX() // 컬럼 데이터의 MAX값
MIN() // 컬럼 데이터의 MIN값
EX) SELECT SUM(컬럼1) FROM TABLE명 // 컬럼1의 모든데이터의 합을 가져옴.
- 수치함수(숫자 데이터)
ROUND(데이터, 반올림위치) //반올림 및 자릿수
ABS() // 절대값
SIGN() // 부호
SQRT() // 제곱근
POWER(데이터, n) // n승
- 문자열 함수(문자 데이터)
Ascii() // 문자열의 제일 왼쪽 문자의 아스키 코드 값을 반환(Integer형)
Char() // 정수 아스키 코드를 문자로 반환(Char형)
Charindex(찾을문자, 데이터, 찾을시작위치) // 문자열에서 지정한 식의 위치를 반환
Left() // 문자열에서 왼쪽에서부터 지정한 수만큼의 문자를 반환
Len() // 문자열의 길이 반환
Lower() // 대문자를 소문자로 반환
Ltrim() // 문자열의 왼쪽 공백 제거
Nchar() // 지정한 정수 코드의 유니코드 문자 반환
Replace(데이터, 바꾸고싶은문자, 바꿀문자) - 문자열에서 바꾸고 싶은 문자 다른 문자로 변환
Replicate() // 문자식을 지정한 횟수만큼 반복
Reverse() // 문자열을 역순으로 출력
Right(데이터, 지정수) // 문자열의 오른쪽에서 부터 지정한 수 만큼 반환(Left() 와 비슷 )
Rtrim() // 문자열의 오른쪽 공백 제거
Space() // 지정한 수만큼의 공백 문자 반환
Substring(데이터,가져올자릿수, 길이) // 문자,이진,텍스트 또는 이미지 식의 일부를 반환
Unicode() // 식에 있는 첫번째 문자의 유니코드 정수 값을 반환
Upper() // 소문자를 대문자로 반환
Isnumeric() // 해당 문자열이 숫자형이면 1 아니면 0을 반환
Isdate() // 해당 문자열이 Datetime이면 1 아니면 0
WHERE 조건
SELECT * FROM TABLE명 WHERE 컬럼1=1; // 모든 컬럼의 데이터에서 컬럼1의 데이터가 1인 모든 컬럼의 데이터 값을 찾음
- 조건 함수
IS NULL // 데이터가 NULL인 값 가져오기
BETWEEN A AND B // A와 B사이에 있는걸 가져옴
LIKE a% // a로 시작되는
LIKE %a% // a를 포함하는
LIKE a% // a로 끝나는
LIKE a_ // a로 시작하는 2자리
LIKE a___ // a로 시작하는 4자리
LIKE __a // a로 끝나는 3자리
컬럼 IN (a, b) // 컬럼이 a이거나 b인 데이터 가져오기
SELECT DISTINCT 컬럼 FROM TABLE명 // 중복되지 않는 데이터만 가져옴
SELECT TOP n * FROM TABLE명 // 상위 n개의 데이터만 가져오기
ORDER BY 컬럼1 ASC // 컬럼1 기준으로 오름차순
ORDER BY 컬럼1 DESC // 컬럼1 기준으로 내림차순
GROUP BY 컬럼 // 컬럼으로 묶어서 출력
HAVING COUNT(id) > 2 // 그룹별로 id가 3개 이상인 그룹만 출력
'💾 데이터베이스(Database) > MySQL & Maria' 카테고리의 다른 글
[MySQL] SQL Injection (0) | 2023.08.25 |
---|---|
[MySQL] InnoDB & MyISAM (0) | 2023.08.25 |
[MySQL] Storage Engine (0) | 2023.08.25 |
[MySQL] Query 문법 (1) | 2023.08.25 |