# 31 Sun

## 데이터 분석을 위한 기초 SQL

### 데이터 순서 정렬하기 <a href="#ot" id="ot"></a>

ORDER BY

```sql
SELECT *
FROM Customers
```

* 기본적으로 가장 첫번째 컬럼을 기준으로 오름차순으로 정렬되어있다
* 여기서는 customerid가 첫번째 컬럼

```sql
SELECT *
FROM Customers
ORDER BY customerid DESC
```

* `ORDER BY` : `WHERE` 뒤에 온다. \[컬럼] \[정렬방식] 으로 정의
* `DESC` : 내림차순 정렬. 오름차순 정렬은 `ASC`
* 실제로 데이터의 순서를 바꾸는 것은 아니며 출력 시에 정렬하는 것

```sql
SELECT *
FROM Products
WHERE price >= 20
ORDER BY price DESC
```

* 가격이 20 이상인 제품들을 비싼 제품부터 출력
* `--` 를 사용하면 주석을 단다는 의미이다.

```sql
SELECT name
FROM students
WHERE marks > 75
ORDER BY RIGHT(name, 33)
```

* 문자열 자르기
  * LEFT(컬럼명 또는 문자열, 문자열의 길이)
    * EX) SELECT LEFT("인태는 바보", 5) => "보"
  * RIGHT(컬렴명 또는 문자열, 문자열의 길이)
    * EX) SELECT RIGHT("바보 성범", 3) => "성범"
  * SUBSTR(컬럼명 또는 문자열, 시작 위치, 길이)
    * EX) SUBSTR("20210219", 2, 3) => "02"
    * EX) SUBSTR("20210219", 2) => "0210219"
    * EX) SUBSTR("20210219", , 3) => "202"
  * 중요한 것은 프로그래밍 언어처럼 첫번째 인덱스가 0이 아니라는 점
* 소수점 처리
  * CEIL(수) : 올림
  * FLOOR(수) : 내림
  * ROUND(수, 이하 자리수) : 반올림

###
