-
SQL Select & 연산자 (1)Data Base_Oracle/SQL 2019. 12. 31. 21:25
연산자를 활용한 검색
* 곱셈 연산자
▷ 형식) SQL> select 필드명 연산자 숫자 from 테이블명;
▶ emp테이블에서 sal칼럼에 12를 곱하고,
별칭을 "급 여"로 지정한 후, 이름, 업무, 급여 순으로 검색
SQL> select ename,job,sal as "급 여",sal * 12 연봉 from emp;ENAME JOB 급 여 연봉 SMITH CLERK 800 9600 ALLEN SALESMAN 1600 19200 ... ... ... ... => sal 칼럼 각각의 레코드에 12를 곱한 값들이 별칭 '연봉' 칼럼에 계산되서 표출됨
|| 문자열 결합 연산자
▷ 형식) SQL> select 필드명 || 필드명 from 테이블명;
▶ emp테이블에서 ename과 job의 문자열들을 결합한 후 "사원이름 업무" 별칭 필드로 출력
SQL> select ename || job as "사원이름 직원" from emp;사원이름 직원 SMITHCLERK ALLENSALESMAN ... 레코드 사이에 공백 만들기
▷ 형식) SQL> select 필드명 || '(공백)' || 필드명 from 테이블명;
▶ emp테이블에서 ename과 job을 한칸 띄워서 결합한 후 "사원이름 업무"별칭으로 출력
SQL> select ename || ' ' || job as "사원이름 직원" from emp;사원이름 직원 SMITH CLERK ALLEN SALESMAN ... 관계연산자
- 대소 : >, >=, <, <=
- 등 : =
- 부등 : !=, ^=, < >
where 조건식을 사용한 조회 - 부등
▷ 형식) SQL> select 검색할 필드명(=컬럼명),,,( * )
from 테이블명,,,,
where 조건식(검색할 필드명 연산자 검색할 값);
▶ 연봉이 3000 이상인 직원의 이름, 업무, 연봉을 emp테이블에서 출력
SQL> select ename, job, sal from emp where sal>=3000;ENAME JOB SAL SCOTT ANALYST 3000 KING PRESIDENT 5000 FORD ANALYST 3000 where 조건식을 사용한 조회 - 등
▶ 업무가 'Manager'인 직원의 사원번호, 이름, 업무를 emp테이블에서 출력
SQL> select empno, ename, job from emp where job='Manager';
=> "선택된 레코드가 없습니다."
▶▶ 업무가 'MANAGER'인 직원의 사원번호, 이름, 업무를 emp테이블에서 출력
SQL> select empno, ename, job from emp where job='MANAGER';EMPNO ENAME JOB 7566 JONES MANAGER 7698 BLAKE MANAGER 7782 CLARK MANAGER ※ 대소문자를 구분하기 때문에 정확히 맞춰서 써야함
논리연산자
- A and B : A 조건과 B조건을 동시에 만족하는 값들을 표출
- A or B : A조건이나 B조건 중 하나라도 만족하는 값들을 전부 표출
※ and 와 or이 같이 나오면 and가 먼저 계산됨
A or B and C => A or (B and C)
숫자형 범위연산자
- between A and B : A이상 B이하의 값들을 선택, A - 작은 값, B - 큰 값
- not between A and B : A미만 B초과의 값들을 선택
▶ 연봉이 1300 이상 1800 이하인 직원의 이름, 업무, 연봉을 emp테이블에서 조회
SQL> select ename, job, sal from emp where sal between 1300 and 1800;
(= SQL> select ename, job, sal from emp where sal>=1300 and sal<=1800;)ENAME JOB SAL ALLEN SALESMAN 1600 TURNER SALESMAN 1500 MILLER CLERK 1300 ▶ 연봉이 1300 미만 1800 초과인 직원의 이름, 업무, 연봉을 emp테이블에서 조회
SQL> select ename, job, sal from emp where sal not between 1300 and 1800;
( = SQL> select ename, job, sal from emp where sal<1300 or sal>1800;)ENAME JOB SAL SMITH CLERK 800 WARD SALESMAN 1250 ... ... ...
다양한 연산자들을 select 구문과 함께 다뤄보았습니다.
'Data Base_Oracle > SQL' 카테고리의 다른 글
SQL Dual Table (0) 2020.01.02 SQL Order by(정렬), Parameter Query(매개변수 검색) (0) 2019.12.31 SQL Select & 연산자 (2) + 연산자 우선순위 (0) 2019.12.31 SQL Select 개요 & Desc & Distinct (0) 2019.12.31 SQL 개요 & SQL 구문 종류(DDL, DML, DCL) (0) 2019.12.30