TIL.20 MySQL 수치연산

1980 단어 mysqlTILTIL

수치연산

1. SELECT 구로 연산

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은 소수점 뒤 두번째 자리

좋은 웹페이지 즐겨찾기