TIL.20 MySQL 수치연산
수치연산
1. SELECT 구로 연산
SELECT * ,price * stock FROM products;
SELECT * ,price * stock FROM products;
가격과 재고량의 곱한 값
2. 컬럼명 임시변경
1. SELECT * ,price * stock AS total FROM products;
2. SELECT * ,price * stock total FROM products;
3. SELECT * ,price * stock "총합" FROM products;
- AS뒤에 변경할 명칭 작성가능하며 AS를 생략 가능하다.
- 한글을 사용할 때에는 " "(큰 따옴표)를 사용해야한다.
- ' , ' 로 구분하여 복수의 식을 지정 가능, 각각 명칭을 부여할 수 있고 중복명칭도 가능하고 에러가 발생하지 않지만 프로그래밍 언어에선 문제가 발생할 수 있기에 다르게 지정한다.
- " " 는 데이터베이스 객체명, ' '은 문자열 상수인 점을 인지하고 사용해야한다.
- SELECT나 FROM 같은 예약어에는 " "을 꼭 붙여준다.
3. WHERE 구로 연산
1. SELECT * ,price * stock AS total FROM products WHERE price * stock > 1000000; O
2. SELECT * ,price * stock AS total FROM products WHERE total > 1000000; X
총 합이 100만원 이상일 경우만 검색
WHERE구의 경우 SELECT구 보다 먼저 실행되기 때문에 변경된 명칭 "total"을 사용 할 수 없다.
4. NULL 값 연산
보통 프로그래밍 언어에서는 NULL값은 유효한 값이 없으므로 같이 연산한 값이 나오지만
SQL에서는 NULL값은 0으로 처리가 되지않으므로 NULL이된다.
5. ORDER BY구에서 연산
1. SELECT * ,price * stock AS total FROM products ORDER BY price * stock DESC;
2. SELECT * ,price * stock AS total FROM products ORDER BY total DESC;
ORDER BY구에서도 연산하여 정렬 할 수 있습니다.
SELECT 구보다 ORDER BY구가 나중에 진행되기 때문에 WHERE구와는 다르게 "total"이라는 변경된 명칭을 사용 할 수 있습니다.
WHERE -> SELECT -> ORDER BY 순서로 진행 된다.
6. 함수 MOD
10 % 3 = 1
MOD(10,1) = 1
MOD는 MySQL이나 Oracle 등에서 사용할 수 있는 함수로 % 나머지 연산자와 비슷하다.
7. ROUND 함수
1. SELECT price, ROUND(price) FROM products;
2. SELECT price, ROUND(price,1) FROM products;
- 소수점을 반올림 해주는 함수이다.
- 반올림할 소수점 앞과 뒤의 자릿수를 지정할 수 있다. -1, 0, 1을 예로들면
- -1은 소수점 앞 첫번째 자리
- 0은 소수점 뒷 첫번째 자리
- 1은 소수점 뒤 두번째 자리
Author And Source
이 문제에 관하여(TIL.20 MySQL 수치연산), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kim-hoontae/TIL.20-수치-문자열연산저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)