Oracle DBA/SQL

20230621 (4) SQL 009 : 산술 연산자

Nuez 2023. 6. 21. 15:05
반응형

연산자의 종류 3가지

 

1. 산술 연산자 : *, /, +, -

2. 비교 연산자 : >, <, >=, <=, =, !=, ^=, <>

3. 논리 연산자 : AND, OR, NOT


이름과 연봉을 출력하세요.

SELECT ename as 이름, sal*12 as 연봉
FROM emp;


이름과 연봉(sal*12 + 300)을 출력하세요. 컬럼명을 한글로 이름, 연봉이라고 출력하시오.

SELECT ename as 이름, sal*12+300 as 연봉
FROM emp;


문제30. 위의 결과를 다시 출력하는데 곱하기가 아니라 더하기부터 실행되게 하시오.

SELECT ename as 이름, (sal+300)*12 as 연봉
FROM emp;


문제31. 이름과 연봉(sal*12)을 출력하는데 연봉이 26000 이상인 사원들만 출력하시오.

SELECT ename as 이름, sal*12 as 연봉
FROM emp
WHERE  sal*12 >=26000 ;

* 컬럼 별칭 사용 주의 

별칭을 SELECT절에서 지정했으나, 수행 순서는 WHERE가 SELECT에 앞서므로, WHERE절에 연봉이라고 기입하면 오류. WHERE절 실행 당시 '연봉'이라는 컬럼은 없으므로..!

 

↓ 코드 참고 (틀린 코드)

SELECT ename as 이름, sal*12 as 연봉
FROM emp
WHERE  sal*12 >=26000 ;


문제32. 연봉이 26000 이상인 사원들의 이름과 연봉을 출력하는데 연봉이 높은 사원부터 출력되게 하시오. 

SELECT ename as 이름, sal*12 as 연봉
FROM emp
WHERE  sal*12 >=26000 
ORDER BY 연봉 DESC;
SELECT ename as 이름, sal*12 as 연봉
FROM emp
WHERE  sal*12 >=26000 
ORDER BY 2 DESC;

문제 31번에 이어서 수행 순서 관련 문제.

 

코딩순서 SELECT - FROM - WHERE - ORDER BY

수행순서 FROM - WHERE - SELECT - ORDER BY

 

수행순서는 ORDER BY가 가장 마지막이므로 ORDER BY절에는 SELECT절에서 설정한 별칭을 사용해 컬럼을 지칭할 수 있다.