티스토리 뷰

휴지통/오라클

SQL

LeReve 2013. 4. 26. 16:36

<SQL>


- DQL(Data Query Language): select(행렬데이터 검색, 조회)


- DML(Manipulation): insert(행데이터 입력)

                             update(행데이터 수정, 갱신)

                             delete(행데이터 삭제)


- DDL(definition): create(객체 생성)

  drop(객체 삭제)

                         alter(객체 변경)

                         rename(객체이름 변경)

                         truncate(저장공간삭제)


- TCL(Transaction Control): commit(논리적 작업에 대한 정상적인 종료, 실제 물리적인 반영, 

   트랜잭션종료, 트랜잭션시작)

    rollback(트랜잭션 작업취소)

    savepoint(부분 작업취소를 위해 저장점을 설정)

 

- DCL(control): grant(권한부여), revoke(권한회수) //관리자


* 명령어는 대,소문자 상관없지만 데이터는 대,소문자 구분


<SELECT문 형식>

SELECT 컬럼명1,컬럼명2

FROM 테이블명1,테이블명2;


select * -- *: 특정테이블(emp)의 모든 컬럼을 조회(--:설명문(주석))

from emp;


select empno, ename, sal -- 테이블내의 원하는 컬럼을 명시적으로 사용.

from emp;


select '안녕'

from emp;
--->'안녕' 14번 출력(사원수와 일치)

 

select '안녕'

from dual;

--->테이블과 관련없는 조회,검색을 할 경우

가상테이블(dummy)을 사용: dual

 

<NVL()함수>

형식)

  nvl(null이 예상되는 컬럼명, 대치될 데이터)

  

※주의: 컬럼명과 데이터는 서로 자료형이 일치해야 함

  nvl(comm, 0)  

  nvl(ename, 13) --(X)

  nvl(ename, '무명') --(O)

 

select empno, ename, sal, nvl(to_char(comm),'없음'), sal*12+nvl(comm,0)

from emp;

--> comm의 숫자값을 문자로 변환하여 매개변수들의 자료형을 일치시킴.

 

 

<select형식>

select 컬럼명 [as] Alias, 데이터 --[]: 생략가능, Alias: 별명,별칭

from 테이블명;


 

<Concatenation연산자> ||

- 앞뒤 데이터를 접합시켜주는 기능


select ename||'사원의 직책은 '||job||'입니다.'

from emp;


ENAME||'사원의직책은'||JOB||'입니다.'

--------------------------------------

SMITH사원의 직책은 CLERK입니다.

ALLEN사원의 직책은 SALESMAN입니다.

WARD사원의 직책은 SALESMAN입니다.

JONES사원의 직책은 MANAGER입니다.

MARTIN사원의 직책은 SALESMAN입니다.

 


 

DISTINCTL: 중복된 데이터값을 제거 키워드

  

SELECT DISTINCT 중복컬럼명

FROM 테이블명


 

==================================================================

<SQLPLUS>

list(l): 버퍼에 있는 명령을 출력

/: 맨마지막에 버퍼에 담겨있던 명령어가 실행

run: 버퍼에 있는 명령어를 출력하고 명령어 실행

 

create table Person

(

이름 데이터타입(최대바이트)

name varchar2(15),

age number(3),

job varchar2(15)

);


insert into person (name,age,job) values('티스토리',15,'사이트');

 

테이블이름.sql으로 저장

person.sql

SQL>@d:\r\person.sql


SQL>edit d:\r\person.sql

==================================================================


<select문>

select 컬럼명

from 테이블명

where CONDITIONS;


<조건식구성> conditions

형식)

   컬럼명 연산자 비교데이터

<비교연산자>


 >, <, >=, <=, =(같다), != <> ^= (같지않다)

 

 자바 오라클

 && --> AND(and)

 ||  --> OR(or)

 

 

<NOT연산자>: 결과값에 대한 반대 결과값

 where not 컬럼명 = 30; -- where 컬럼명 != 30

 

 

<BETWEEN AND연산자>

- 특정 범위의 검색을 할 때 사용

- 주의: 명시된 값을 포함할 때 적용


형식)

BETWEEN A AND B

---> A: 최소값 B: 최대값

---> 최소값 이상 최대값 이하

  

  

 <IN연산자>

 - 특정한 값들의 나열안에 속하는 조건을 검색

 - 여러개의 OR연산자를 대치할 용도로 사용.

 

 형식)

  IN(데이터 나열)

  IN(list)

 

 

 <LIKE연산자>

 - 특정문자로 시작, 끝, 포함하는 데이터를 검색.

 

 형식)

 where 컬럼명 LIKE 'pattern'

 

 패턴내에서 사용되는 와일드카드: %(0~무한대 대치) _(한문자 대치)

 

 

 select ename

 from emp

 where ename='A';

 ---> 사원명이 'A'인 사원검색

 

 select ename

 from emp

 where ename='A%'; 

 ---> 사원명이 'A%'인 사원검색

 

 select ename

 from emp

 where ename LIKE 'A%'; 

 ---> 사원명이 'A'로 시작하는 사원검색

 

 select ename

 from emp

 where ename LIKE '%A';

 ---> 사원명이 'A'로 끝나는 사원검색

 

 select ename

 from emp

 where ename LIKE '%A%';

 ---> 사원명에 'A'문자가 들어간 사원검색

 

 

 <NULL데이터 검색>★

 ---> 컬럼명 IS NULL  ★

 

 <NULL이 아닌 데이터 검색>★

 ---> 컬럼명 IS NOT NULL  ★

'휴지통 > 오라클' 카테고리의 다른 글

SQL  (0) 2013.05.13
SQL  (0) 2013.05.13
SQL  (0) 2013.05.02
SQL  (0) 2013.05.01
SQL  (0) 2013.05.01
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/08   »
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
글 보관함