-- ○ 우선순위 규칙
select empno, ename, job, sal
from emp
where job='SALESMAN' or    -- 연산자의 우선순위 not > and > or
   job='PRESIDENT' and  -- 여기서 SALESMAN은 SAL에 의존되지 않게된다.
   sal > 1500;
 
select empno, ename, job, sal
from emp
where (job='SALESMAN' or    -- () 사용함으로서 SALESMAN, PRESIDENT는 모두 sal에 의존되어진다.
    job='PRESIDENT') and -- 연산에 있어서 ()를 잘쳐야 실수 없이 연산이 된다.
    sal > 1500;


'Program... > Oracle' 카테고리의 다른 글

Oracle 문자형 함수 - Concat  (0) 2009.03.13
Oracle Order By 절  (0) 2009.03.13
Oracle IS NULL 연산자  (0) 2009.03.13
Oracle LIKE 연산자  (0) 2009.03.13
Oracle IN 연산자  (0) 2009.03.13
Posted by Duritz

--- IS NULL 연산자
select ename, sal, comm
from emp
where comm is null;  -- null은 존재하지 않는 값이기 때문에 수식기호를 사용 할 수가 없다.

select ename, sal, comm
from emp
where not comm is null; -- 부정표현 not column is null 또는 column is not null 로 표현할 수 있다.

'Program... > Oracle' 카테고리의 다른 글

Oracle Order By 절  (0) 2009.03.13
연산자 우선순위 규칙  (0) 2009.03.13
Oracle LIKE 연산자  (0) 2009.03.13
Oracle IN 연산자  (0) 2009.03.13
Oracle Between 연산자  (0) 2009.03.13
Posted by Duritz

-- Like 연산자
select ename, job, sal
from EMP
where ename like 'SMITH';  --  Like : ~문자형태와 일치한다.

select ename, job, sal
from EMP
where ename like 'S%'; -- 대문자 S로 시작하는 ename을 출력한다.

 
select ename, job, sal
from EMP
where ename like '%S'; -- 대문자 S로 끝나는 ename을 출력한다.

select ename, job, sal
from EMP
where ename like '%S%'; -- 대문자 S가 포함되는 ename을 출력한다.

select ename, job, sal
from EMP
where ename like '%AM%'; -- 붙어있는 대문자 AM이 포함되는 ename을 출력한다.

select ename, job, sal
from EMP
where ename like '%A%M%'; -- 붙어있건 떨어져있건 대문자 A,M이 포함되는 ename을 출력한다.

select ename, job, sal
from EMP
where ename like '_A%'; -- _는 하나의 문자와 대치된다. 그러므로 두번째 글자가 A인 ename을 출력하게된다.

select ename, job, sal
from EMP                 -- 위와 마찬가지로 풀어봤을때
where ename like '__R%'; -- __R%은 세번째 글자가 R인 ename을 출력하게된다.

select ename, job, sal
from EMP                 -- 위와 마찬가지로 풀어봤을때
where ename like 'M_R%'; -- M_R%은 첫번째 글자가 M이고 세번째 글자가 R인 ename을 출력하게된다.

------ 참조사항(예제문제), 테이블생성
create table sawon            -- sawon 이라는 테이블을 생성한다.
(sano number(4)               -- sano라는 숫자값 column을 만든다.
,name varchar2(10)            -- name라는 문자값 column을 만든다.
,minbun varchar(13)           -- minbun라는 문자값 column을 만든다.
,hiredate date                -- hiredate라는 날짜 column을 만든다.
,constraint sawon_sano_pk primary key(sano) -- P.K를 sano로 지정한다.
) tablespace users;

insert into sawon
values(1001, '홍길동', '7810031234567', '1990-01-01');  -- 값을 입력
insert into sawon
values(1002, '엄정화', '7403012234567', '1999-01-01');
insert into sawon
values(1003, '남자애', '0012253234567', '2002-05-05');
insert into sawon
values(1004, '여자애', '0110104234567', '2003-05-05');

select * from sawon;
commit;
------ 사원테이블에서 여자만 추출하시오.
select *
from sawon
where minbun like '______2%' or
      minbun like '______4%';
     
------ 참조사항(예제문제2), 테이블생성
create table jepum
(jname varchar2(10)
,bigo varchar2(100)
) tablespace users;

insert into jepum
values('금시계', '고객만족도 99.99% 획득제품');
insert into jepum
values('은시계', '정밀도 점수 99.99% 획득제품');
commit;

select * from jepum;
------ 제품테이블에서 99.99% 라는 글자가 있는 것만 추출하시오
select *
from jepum
where bigo like '%99.99%%'; -- 원하는 답이 출력되지 않고 모두 나오게된다.
------ like와 함께 사용되어진 %나 _를 wild 문자라 한다.
select *
from jepum
where bigo like '%99.99\%%' -- escape 로쓰이는 문자는 잘안쓰이는 특수문자를 많이 사용한다.
   escape '\'; -- escape 'x' 쓰게되면 x뒤에 오는 %는 wild 문자기능을 상실하고 단순한 문자로 인식된다.

'Program... > Oracle' 카테고리의 다른 글

연산자 우선순위 규칙  (0) 2009.03.13
Oracle IS NULL 연산자  (0) 2009.03.13
Oracle IN 연산자  (0) 2009.03.13
Oracle Between 연산자  (0) 2009.03.13
Oracle 날짜 표시  (0) 2009.03.13
Posted by Duritz

공지사항

Yesterday
Today
Total
05-04 20:11

달력

 « |  » 2025.5
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31