반응형
ORDER BY
SQL을 SELECT와 FROM을 사용하여 데이터셋을 불러왔을때 낮은순서대로 오름차순으로 정렬이 된다.
이때 해당 데이터셋을 내림차순을 하려면 ORDER BY @@ DESC 를 사용하면 된다. (기존 default값은 ASC로 오름차순이다)
또한 ORDER BY는 SELECT FROM WHERE 뒤에 온다.
이때 ORDER BY를 사용한다해도 기존 데이터는 바뀌지않고 출력만 바뀐상태로 보여준다.
SELECT *
FROM Customers
ORDER BY customerid DESC
ORDER BY 응용
데이터셋중에서 제일 큰 값을 가져오고싶을때랑 가장 작은 값을 가져오고싶을때가 존재한다.
예시를 통해 알아보겠다.
- 가장 큰 값
SELCET *
FROM Customers
ORDER BY price DESC
LIMIT 1
- 가장 작은 값
SELECT *
FROM Customers
ORDER BY price ASC
LIMIT 1
MySQL 문자열 자르기
- LEFT(컬럼명 또는 문자열, 문자열의 길이)
ex) SELECT LEFT("20140323",4)
=> 2014 - RIGHT(컬럼명 또는 문자열, 문자열의 길이)
ex) SELECT RIGHT("20140323",4)
=> 0323 - SUBSTRING(컬럼명 또는 문자열, 시작위치, 길이)
= SUBSTR()
ex) SUBSTR("20140323",1,4)
=> 2014
ex) SUBSTR("20140323,5)
=> 0323
MySQL 소수점 처리
- CEIL() 올림
ex) SELECT CEIL(5.5)
=> 6 - FLOOR() 내림
ex) SELECT FLOOR(5,5)
=> 5 - ROUND() 반올림
ex) ROUND(5.5556901,4)
=> 5.5569
예제 문제 풀어보기
SELECT name
FROM employee
ORDER BY name ASC
SELECT name
FROM employee
WHERE salary > 2000 AND months < 10
ORDER BY employee_id
SELECT name
FROM students
WHERE marks > 75
ORDER BY RIGHT (name,3), id
SELECT ROUND(long_w,4)
FROM station
WHERE lat_n < 137.2345
ORDER BY lat_n DESC
LIMIT 1
'SQL > MySQL' 카테고리의 다른 글
[MYSQL] 조건문 (0) | 2022.01.07 |
---|---|
[MYSQL] HackRank GROUP BY 문제들 풀어보기 (0) | 2022.01.05 |
[MYSQL] 보고싶은 데이터 요약하기 COUNT,SUM,AVG,MIN/MAX, GROUB BY & HAVING (0) | 2022.01.04 |
[MYSQL] 조건에 맞는 데이터 검색하기 (0) | 2021.12.29 |
[MYSQL] SELECT/FROM/LIMIT 정리하기 (0) | 2021.12.29 |