SQL 2강

그냥 이어서...

-- 연결연산자  ||

연결연산자의 장점은 문자열로 표현할수 있다는 것이다.
다음을 입력해보자.

select ename || ' 의 월급은 ' || sal
   from emp;

ENAME||'의월급은'||SAL
-----------------------
SMITH 의 월급은 800
ALLEN 의 월급은 1600
WARD 의 월급은 1250


-- where 절에 조건을 줘서 특정 데이터만 select

-- 사원이름이 SCOTT 인 사원의 이름, 월급?
 select ename, sal
     from emp
    where ename = 'SCOTT';

ENAME     SAL                                                                                                                     
---------- ----------                                                                                   
SCOTT            3000         

이름을 줄때 소문자로 쓴다던지, ''(싱글쿼터) 로 감싸주지 않으면 원하는 결과값을 얻을 수없다.

-- '   ' 을 사용하는 경우 : 문자, 날짜

오라클에서 실행하는 순서 from 절로 가져오고 where 절에서 걸러서 select 한다.
그 후에 order by 절을 수행한다.

-- 월급이 1000 에서 3000 사이인 사원들의 이름, 월급 ?
select ename, sal
  from emp
 where sal between 1000 and 3000;

ENAME SAL
--------------
ALLEN 1600
WARD 1250
JONES 2975
......


-- 1000에서 3000 사이가 아닌것들
select ename, sal
  from emp
 where sal not between 1000 and 3000;

ENAME SAL
---------------
SMITH 800
KING 5000
JAMES 950


-- 사원번호가 7788, 7902 번인 사원들의 사원번호, 이름 ?
select empno, ename
   from emp
   where empno = 7788 or empno = 7902;

아니면 다음과 같이 할 수도 있다.

select empno, ename
    from emp
    where empno in (7788, 7902);

결과는 동일

EMPNO ENAME
----------------
7788 SCOTT
7902 FORD


% - 특수문자 % 가 아닌 wild card
like 오퍼레이터에서 사용

-- 이름의 첫자가 'S' 로 시작하는 사원의 이름, 월급?

select ename, sal
  from emp
  where ename like 'S%';

ENAME SAL
--------------
SMITH 800
SCOTT 3000

-- 치환변수 &
치환변수에다가 ' ' 를 할 수 있다. - '&ename'

 select ename, sal
    from emp
    where ename = '&ename';

ename의 값을 입력하십시오: SCOTT
구   3:    where ename = '&ename'
신   3:    where ename = 'SCOTT'

ENAME             SAL
---------- ----------
SCOTT            3000

SQL> 에서 / 엔터키를 치면 계속 물어본다.

치환변수는 여러 용도로 사용할 수 있는데 insert 구문이라던지,
다음처럼 여러조건을 줘서 테스트 하고싶을때

select ename, &column_name
   from emp
   where &condition
   order by &sort_column;

column_name의 값을 입력하십시오: sal
구   1: select ename, &column_name
신   1: select ename, sal
condition의 값을 입력하십시오: sal > 1000
구   3:  where &condition
신   3:  where sal > 1000
sort_column의 값을 입력하십시오: sal
구   4:  order by &sort_column
신   4:  order by sal

ENAME             SAL
---------- ----------
ADAMS            1100
WARD             1250
MARTIN           1250
MILLER           1300
TURNER           1500
ALLEN            1600
CLARK            2450
BLAKE            2850
JONES            2975
FORD             3000
SCOTT            3000
KING             5000

매~~~~~우 신기하다!!!

 -- 위에있는 구, 신을 출력하고 싶지 않을때
verify 를 잠시 꺼두시면 된다. 다음을 입력해보자.
SQL> show verify  
verify ON
SQL> set verify off

이러면 이제 안나온다. 시험해 보도록하자.


from dual  -- 결과값만을 보기위한 더미 테이블

ms-sql 에서는  select substring('SMITH', 1, 3) 만 해도 결과값을 출력하지만
오라클에서는 from 절이 있어야한다. 따라서
 select substr('SMITH', 1, 3)  from dual;  이렇게 입력한다.

substr 처럼 function 에 대해 알아보자 ( 다음에... ㅡㅡ;)

'SQL > 공부' 카테고리의 다른 글

SQL - 조인  (0) 2007.12.07
SQL 함수3  (2) 2007.11.29
SQL 함수2  (0) 2007.11.29
SQL - 함수  (0) 2007.11.26
SQL 1강  (0) 2007.11.23