Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- MySQL
- Spring Web MVC
- 자바
- 투포인터알고리즘
- vm인스턴스생성
- Spring MVC 구성요소
- List.of
- 백준 11659
- 백준
- 11659
- 스택
- 프로그래머스
- Spring MVC 동작원리
- 알고리즘
- 구간합구하기
- 코드스테이츠 백엔드
- GCP
- 버블정렬
- 재귀와반복문
- 코드스테이츠
- java
- 인텔리제이
- 코딩테스트
- 성능테스트툴
- String.valueOf()
- 클라우드에서 도커 실행하기
- Array.asList
- 재귀함수
- 싱글톤패턴
- OOP
Archives
- Today
- Total
순간을 기록으로
[MySQL] 데이터베이스 수치형 데이터 연산하기 본문
때로는 데이터베이스에서 총액과 같은 값을 구하고 싶을 때가 있습니다. 그럴 때에는 값*수량을 데이터베이스에서 할 수 있습니다.
예시 테이블
CASE1. 각 아이템 별 총액 구하기
열 * 열을 통해 곱셈을 할 수 있습니다. 근데 열의 이름을 바꾸고 싶지 않나요?
CASE2. 'AS'를 이용하여 열 별명(ALIAS) 설정하기
열의 이름이 amount으로 변경되었습니다. AS 키워드는 참고로 생략이 가능합니다. 따라서
SELECT *, price * quantity amount FROM sample34;위의 명령어와 같은 결과를 가져옵니다. 별명을 설정할 때 만약 한글로 설정하고 싶으면 쌍따옴표로 감싸서 설정해야 합니다.
CASE3. 총액을 구한 뒤 총액이 2000이상인 행 검색하기
2000이상인 조건이 붙었으니 WHERE구를 이용하여 조건에 맞는 행을 검색할 수 있습니다. 이 때 WHERE구에 별명 입력하면 검색이 안되는 것에 주의합니다. 왜냐하면 SELECT 구보다 WHERE구가 내부에서 먼저 처리되기 때문입니다. 별명은 SELECT 내부 처리를 할 때 붙여지므로 WHERE에서는 별명을 사용할 수 없습니다.
NULL의 연산
SQL에서 NULL의 연산 결과는 모두 NULL 입니다.
- NULL + 1 = NULL
- 1 + NULL = NULL
- 1 + 2*NULL = NULL
- 1 / NULL = NULL
CASE4. 총액 구하고 총액을 기준으로 내림차순 정렬하기
자세히 살펴보면 ORDER BY에서는 별명을 사용할 수 있다. 그 이유는 ORDER BY는 서버에서 가장 마지막으로 처리되기 때문입니다.
연산자 말고 함수로 연산하기
+,-,*,/와 같은 연산자 말고 함수로도 연산을 할 수 있습니다. 함수는 다음과 같이 사용합니다.
함수명(인수1, 인수2, ...)
예시 테이블
CASE5. 반올림하여 소수를 정수로 만들기
CASE6. 반올림 지정하기( 둘째 자리에서 반올림하기)
CASE7. ROUND 둘째 인수를 줘서 10단위에서 반올림하기
'Computer Science > Database' 카테고리의 다른 글
[MySQL] 행(데이터) 추가하기 - INSERT INTO (0) | 2021.11.25 |
---|---|
[MySQL] 날짜 연산하기 (0) | 2021.11.25 |
[MySQL] WHERE로 행 제한이 아닌 'LIMIT'으로 결과 행 제한하기 (0) | 2021.11.11 |
[MySQL] 복수의 열로 여러번 정렬하기 (0) | 2021.11.11 |
[MySQL] 'ORDER BY' 구를 이용하여 검색 결과 행 순서 정렬하기1 (0) | 2021.11.09 |
Comments