ORDER BY
- 가져온 데이터를 정렬해주는 키워드
- ORDER BY [컬럼이름] 형식으로 사용(오름차순이 기본)
-ORDER BY [컬럼이름] = ORDER BY [컬럼이름] ASC (ASC 생략가능)
- 입력한 column 기준으로 모든 row를 정렬
- 내림차순으로 정렬할 경우
- ORDER BY [컬럼이름] DESC
- 여러 컬럼으로 정렬도 가능 [컬럼1], [컬럼2]
SELECT 컬럼
FROM 테이블
WHERE 조건식
ORDER BY 컬럼이름;
![](https://velog.velcdn.com/images/kanggihoo/post/fbbf18f4-23b7-419d-87d3-9b10fcbb4c80/image.png)
- 우선적으로 attack으로 내림차순 정렬을하고, attack 값이 같은 경우에 대해서는 defense를 오름차순으로 정렬한다.
![](https://velog.velcdn.com/images/kanggihoo/post/728d63b7-9d96-4dae-83c6-f09e5299dfe3/image.png)
위의 예제와 같은 결과를 나타낸다.
![](https://velog.velcdn.com/images/kanggihoo/post/5be08586-17e5-4bb8-a61a-452c58714e21/image.png)
RANK
- 데이터를 정렬해 순위를 만들어 새로운 컬럼을 만들어 주는 함수
- RANK() OVER (ORDER BY [컬럼이름]) 형식으로 사용
- 항상 ORDER BY와 함께 사용한다.
SELECT 컬럼이름 , ... , RANK() OVER(ORDER BY 컬럼이름 DESC)
FROM 테이블
WHERE 조건식
![](https://velog.velcdn.com/images/kanggihoo/post/0a493f16-05a4-42fa-98f9-8647e8874eb6/image.png)
DESNSE_RANK , ROW_NUMBER
- RANK 함수와 유사하게 데이터를 정렬해 순위를 만들어 주는 함수
- 작성하는 문법은 동일하지만 나타나는 결과가 조금씩 다르다.
![](https://velog.velcdn.com/images/kanggihoo/post/a4b437c7-60e9-4def-bbe5-51ca4754cf45/image.png)
문자형 데이터 함수
![](https://velog.velcdn.com/images/kanggihoo/post/8cdd36d9-aac8-45ae-8776-3fb00c429cc7/image.png)
1) LOCATE(찾을 문자, 값 또는 컬럼이름) : 문자가 여러개라면 가장 먼저 찾은 문자의 위치를 가져온다. 만약 찾는 문자가 없다면 0을 반환
2) SUBSTRING(문자 , 숫자) : 입력한 숫자가 문자열 길이보다 크다면 아무것도 가져오지 않음.
![](https://velog.velcdn.com/images/kanggihoo/post/c839a1b9-28db-49bb-83ff-a294d8e2dbcd/image.png)
3)
![](https://velog.velcdn.com/images/kanggihoo/post/792895c3-5993-4c8e-ab46-861279daf6e4/image.png)
숫자형 데이터 함수
![](https://velog.velcdn.com/images/kanggihoo/post/199feae6-dc4d-48cc-8d4b-066f9552cd29/image.png)
- ROUND , TRUNCATE 자릿수에 0을 넣으면 소수점 없이 정수만 반환한다.
날짜형 데이터 함수
![](https://velog.velcdn.com/images/kanggihoo/post/15f890d9-63aa-47d4-828a-17ce840b5f22/image.png)
![](https://velog.velcdn.com/images/kanggihoo/post/d505d21e-8bf5-46b3-88a1-49db3ddfa0ab/image.png)