1. 연결연산자(||)
- 분리된 문자열을 결합(연결)하여 하나로 표현하기 위해 사용
- 문자열과 문자열 사이에 삽입
select 'ab' || 'cd' from dual ;
select 'ab' || 'cd' ||'12' from dual ;
예제1) emp에서 모든 직원의 사번과 이름을 7369_SMITH 형태로 출력 // 문자의 범주에 _(언더바) 포함된다. 쌍따옴표 붙일 필요 없다.
sol)
select empno||'_'||ename as 사번_이름
from emp;
이러한 식으로 내용이 합쳐져서 출력되는걸 알 수 있다.
예제2) emp에서 각 직원의 정보를 아래와 같이 출력
( SMITH의 10% 인상된 급여는 880입니다.)
sol)
select ename || '의 10% 인상된 급여는 ' || sal*1.1||' 입니다.' as 급여
from emp;
2. 논리 연산자
- not > and > or 의 우선순위를 가짐
- 우선순위 변경 시 괄호를 사용
예제) emp2 테이블에서 정규직과 인턴직을 제외한 직급 중
- 부서번호가 1008번이거나 취미가 오락인 직원의 이름, 고용형태, 부서번호, 취미 출력
- => (정규직과 인턴직이 아니면서 1008번 부서 소속 사원) + (정규직과 인턴직이 아니면서 오락이 취미인 사원)
- => 정규직과 인턴직이 아니면서 (1008번 부서 소속 사원 + 오락이 취미인 사원)
그냥 고등수학에서 배우는 집합으로 이해하면 훨씬 쉽다.
case1)
update emp2
set hobby = '오락'
where NAME = '백원만'; -- 실습을 위한 임시 업데이트(데이터 수정)
select *
from emp2
where emp_type not in ('정규직', '인턴직')
and deptno = 1008
or hobby = '오락'; -- 백원만은 출력되지 않으므로 올바른 조건임
case2)
select *
from emp2
where emp_type not in ('정규직', '인턴직')
and (deptno = 1008
or hobby = '오락');
rollback; -- update 취소
'SQL' 카테고리의 다른 글
6. 문자열 함수(2) (2) | 2024.10.16 |
---|---|
5. 문자열 함수(1) (0) | 2024.10.15 |
3. Order by 절, 중복행 제거 (0) | 2024.10.15 |
2. 계정 접속과 권한 (1) | 2024.10.15 |
1. Select ~ From (2) | 2024.10.14 |