비교 연산자
- = > >= <=
▶ select 1 = null or 1 = 1;
: Null(unknown) or True의 결과는 True이기 때문에 1 출력
▶ select 1 = null and 1 != 1;
: Null(unknown) and False의 결과는 False이므로 0 출력
▶ select (null = 1) = null;
: Null = 1 은 unknown일 때, unknown은 등호로 판별할 수 없으므로 Null 출력
- between ... and ...
: 범위 검색 수행
where 컬럼명 between 시작 값 and 끝 값;
→ where 컬럼 >= 값1 and 컬럼 <= 값2와 같은 결과
→ 부정 : not between ... and ...
▶ select ename, job, sal from emp where sal between 1000 and 2000;
: emp에서 ename, job, sal를 선택하되, sal는 1000과 2000사이의 값을 가진 ename과 job만 출력
- in (list)
: 조건에 다수의 나열된 값을 지정해 매칭되는 값을 추출
→ 완전 매칭
where 컬럼명 in (값1, 값2, ...);
→ 컬럼명 = 값1 or 컬럼명 = 값2 or 컬럼명 = 값3 or ... 과 같은 결과
→ 부정 : not in (list)
▶ select ename, job from emp where job in ('analyst', 'clerk');
: emp에서 ename과 job을 선택하되, job 중에서도 'analyst'와 'clerk'에 해당하는 ename만 출력
- like
: 문자열 완전 혹은 부분 매칭을 수행
→ 와일드 카드 기호 '%'(다수의 문자)와 '_'(하나의 문자) 사용
→ 부정 : not like
▶ select ename, job from emp where ename like '%A%';
: emp에서 ename과 job을 선택하되, ename은 맨 앞과 맨 뒤를 제외하고 'A'가 들어가는 경우만 출력
▶ select ename, job from emp where ename like '_A%';
: emp에서 ename과 job을 선택하되 ename 중 두 번째에 'A'가 들어가는 경우만 출력
▶ select ename, job from emp where ename like '__L%';
: emp에서 ename과 job을 선택하되 ename 중 세 번째에 'L'이 들어가는 경우만 출력
- is null
→ NULL 값을 검색할 경우 반드시 논리 연산자 '='대신 'is null'을 사용함
→ 부정 : is not null
▶ select ename, comm from emp where comm is null;
: emp에서 ename과 comm을 선택하되, comm의 null값만 출력
논리 연산자
- and (&&)
- or (||)
★ 다중 조건 사용 ★
→ 'and'와 'or'를 사용해 다중의 조건을 적용
▶ select ename, sal from emp where ename like '%A%' and sal > 2000;
: emp에서 ename과 sal을 선택하되, ename은 중간에 'A'가 들어가고 sal는 2000보다 큰 경우만 출력
→ 'and'와 'or'을 동시에 사용할 때는 소괄호를 사용해 연산자 우선순위 지정
▶ select mgr, sal from emp where mgr = 7698 or (mgr = 7839 and sal > 1500);
: emp에서 mgr과 sal을 선택하되, mgr이 7698인 경우 혹은 mgr이 7839이고 sal이 1500보다 큰 경우만 출력
- not (!)
Q1.
EMP TABLE에서 이름(ENAME)이 사전배열 상 A에서 H 사이에 있는 사원의 모든 정보를 이름을 기준으로
오름차순으로 출력해보자.
▶ select * from emp where ename between 'A' and 'H' order by ename;
→ order by ename asc도 동일함
Q2.
EMP TABLE에서 이름(ENAME)에 알파벳 A가 포함되고 급여(SAL)가 2000이상인 사원의
모든 정보를 출력해보자.
Q3.
EMP TABLE에서 자신의 상관(MGR)이 없는 직책(JOB)을 출력해보자.
Q4.
T / F 결과값을 확인해보자.
▶ fast 앞에 와일드 카드가 들어가지 않아 False 출력
▶ break 뒤로 1글자, 이후에는 제한 없는 와일드 카드가 들어가 True 출력
▶ ll 앞에 3글자, 뒤에 제한 없는 와일드 카드가 들어가 True 출력
'Data Base Design System' 카테고리의 다른 글
JOIN (0) | 2021.10.01 |
---|---|
함수 (0) | 2021.09.30 |
where (0) | 2021.09.29 |
SQL 클라이언트 화면 지움 (0) | 2021.09.29 |
Order by (0) | 2021.09.29 |