-
SQL Select & 연산자 (2) + 연산자 우선순위Data Base_Oracle/SQL 2019. 12. 31. 21:35
like 연산자
- % : 찾는 문자열의 길이가 정해져 있지 않은 경우
- _ : 찾는 문자열의 길이를 한 칸 단위로 지정함
※ 문자의 앞 뒤 어디에나 사용할 수 있음
▶ 사원명이 A로 시작하는 사원의 이름과 급여를 emp테이블에서 출력
SQL> select ename,sal from emp where ename like 'A%';ENAME SAL ALLEN 1600 ADAMS 1100 => select ename,sal from emp where ename like 'A____';과 같은 결과
but, 이름의 길이가 다른 사람들은 찾지 못함▶ 사원명이 A로 시작하지 않는 사원의 이름과 급여를 emp테이블에서 출력
SQL> select ename,sal from emp where ename not like 'A%';ENAME SAL SMITH 800 WARD 1250 in 범위연산자
- A in (a, b, c) : 괄호 안에 해당하는 값들을 A필드에서 조회, [A = a or A = b or A = c]와 동일
- A not in (a, b, c) : 괄호 안에 해당하지 않는 값들을 A칼럼에서 조회
▶ 사원번호가 7782, 7788, 7844 인 직원들의 사원번호 급여, 연봉을 emp테이블에서 검색
SQL> select empno,sal 급여, sal * 12 연봉
2 from emp
3 where empno in (7782, 7788, 7844)empno 급여 연봉 7782 2450 29400 7788 3000 36000 7844 1500 18000 Null
- null : 값이 들어가 있지 않은 상태,
- not null : 반드시 데이터가 들어가 있는 상태
- ※ null 조건으로 검색을 할 때에는 = 이 아니라 is 를 사용!!
- '(빈문자열)' : 데이터 저장은 되지만 표시만 되지 않는 값
▶ emp테이블에서 comm 값이 없는 직원들의 sal과 comm을 조회
SQL> select sal, comm from emp where comm is null;SAL COMM 800 ... 2975 ... ... ... ※ 데이터가 없는 것과 값이 0인 것은 다르기 때문에 값이 0인 경우에는 0을 입력하는 것이 좋음
▶ emp테이블에서 comm 값이 있는 직원들의 sal과 comm을 조회
SQL> select sal, comm from emp where comm is not null;SAL COMM 1600 300 2975 500 1250 1400 1500 0 ※ 0이라는 값이 있는 것이기 때문에 조회가 됨
연산자 우선순위
연산자 기호 연산 유형 계산 방향 () 식 L -> R -, !, ~ 단항 연산자 L <- R casts 단항 연산자 L <- R * , /, % 곱셈 L -> R +, - 가산적 L -> R <, >, <=, >= 관계형 L -> R ==, != 등호 L -> R & 비트 AND L -> R ^ 배타적 비트 OR L -> R | 포괄적 비트 OR L -> R && 논리적 AND L -> R || 논리적 OR L -> R ?으로 디코딩된 문자입니다. 조건식 L <- R ▶ emp테이블에서 직책이 PRESIDENT이거나 SALESMAN 이고 급여가 1500이상인
직원들의 사원번호, 이름, 직책, 급여 순으로 조회
SQL> select empno, ename, job, sal
2 from emp
3 where (job='PRESIDENT' or job='SALESMAN') and sal >= 1500;EMPNO ENAME JOB SAL 7499 ALLEN SALESMAN 1600 7839 KING PRESIDENT 5000 7844 TURNER SALESMAN 1500 ※ 위와 같은 문제는 해석에 따라 풀이가 달라질 수 있기 때문에 문제에서 요구사항은 정확해야 함
여기까지 해서 연산자와 select구문에 대해 알아보았습니다.
'Data Base_Oracle > SQL' 카테고리의 다른 글
SQL Dual Table (0) 2020.01.02 SQL Order by(정렬), Parameter Query(매개변수 검색) (0) 2019.12.31 SQL Select & 연산자 (1) (0) 2019.12.31 SQL Select 개요 & Desc & Distinct (0) 2019.12.31 SQL 개요 & SQL 구문 종류(DDL, DML, DCL) (0) 2019.12.30