rollback

Transaction을 취소할 때 사용.
savepoint와 함께 사용하면 특정 지점까지의 작업을 취소시킬 수 있다.

문법

직전 commit 이후까지 모든 작업을 취소.
rollback.

savepoint까지의 작업을 취소.
rollback to 저장점 명;

  • savepoint
    Transaction 대상쿼리문을 작성하기 전에 생성.
    commit, rollback이 되면 사라진다.
savepoint 저장점명;

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

insert 쿼리문 실행
commit;//직전 commit
//insert, update, delete가 트렌젝션으로 구성.

savepoint a;
insert

savepoint b;
update

savpoint c;//rollback c 하면, delete까지만 취소.
delete

rollback to a;//위의 commit했던 지점으로 돌아감.

select

테이블에서 모든 레코드의 특정 컬럼을 검색하는 쿼리문.

기본구문)
select 컬럼명, 함수명(컬럼명), 컬럼명 연산자, 컬럼명 alias
from 테이블명,,,,

where절

group by
having 절

order by 절

  • alias
    컬럼명 또는 테이블명 뒤에 정의할 수 있다.
    컬럼명의 별명, 테이블명의 별명을 부여할 때 사용.
    가독성을 향상시킬 때 사용.
    alias를 사용하면 조회결과에 나오는 컬럼명이 alias명으로 변경된다.
    select에서 연결된 where절에서는 alias명을 사용할 수 없다.

문법

컬럼명 as alias명//as 생략가능
컬럼명 alias명

테이블명 alias명

operator

연산에 사용되는 예약된 부호들.

  • 산술연산자 : 조회되는 컬럼에서 사용할 수 있다.
    +,-,*,/,나눈 나머지를 구할 때에는 mod함수를 사용.

*관계연산자

, <, >=, <=, =, !=(<>)

  • 논리연산자
    and, or, not

  • 문자열연산자
    like, %, _

  • null비교 연산자
    is null, is not null

  • 범위 비교
    between and

  • 문자열 붙임
    ||

where절

모든 레코드에서 특정레코드만 검색해야할 때
산술과 ||를 제외한 모든 연산자를 사용할 수 있다.
full-scan : 비교값에 해당하는 컬럼값을 위에서 부터 아래로 전체 레코드를 검색하면서 조회한다.

문법

where 컬럼명 연산자 비교값

select empno, ename, sal
from emp
where empno=7788;

between

범위를 비교할 때 사용하는 연산자(and는 between으로 대체할 수 있다.)

사용법)

between min_values and max_values

in

포함하는 값을 검색할 때 사용 (or는 in으로 대체할 수 있다.)

사용법)

컬럼명 in (,,,,,)

like

문자열 데이터 중 일부분의 데이터로만 검색할 때 사용.
%, _ 특수문자와 함께 사용.

  • % : 글자수에 상관없는 모든 문자열을 비교

사용법)

컬럼명 like '값%' //값에 해당하는 문자열로 시작하는
컬럼명 like '%값' //값에 해당하는 문자열로 끝나는
컬럼명 like '%값%' //값이 포함되어있는 문자열.

csv파일 한번에 추가하기

  1. csv파일로 변경 => excel
  2. ctl파일 만들거나 수정
  3. sqlldr.exe 사용하여 dbms추가
    sqlldr userid=계정명/비번 control=ctl파일명

_

_ : 한글자에 해당하는 문자열 비교

문법

컬럼명 like '_값_'

group by절

조회 컬럼의 중복 값을 그룹으로 묶어서 조회하는 일
그룹으로 묶어지지 않은 컬럼이 조회 컬럼에 나오면 error가 발생.

select 그룹으로 묶인 컬럼명만 조회
from 테이블명
group by 그룹으로 묶을 컬럼명

  • 집계함수와 함께 사용하면 그룹별 집계를 얻을 수 있다.
    having절에서 그룹으로 묶여질 조건을 설정할 수 있다.

사용법

group by 그룹화할 컬럼명,,,
having 그룹으로 묶여질 조건

distinct

컬럼의 중복 값을 출력하지 않을 때 사용하는 키워드
select의 컬럼 앞에 정의
error가 발생하지 않는다.
여러 컬럼과 함께 사용하면 중복배제를 하지 않는다.

select distinct 컬럼명,,,,
  • 중복 값이 없는 컬럼과 함께 사용되면 중복배제를 하지 않는다.
  • 중복 값이 있는 컬럼과 함께 사용되면 앞의 컬럼에 중복 값과 뒤에 사용되는 컬럼에 중복이 존재한다면 뒤의 컬럼에 대해 중복배제를 수행한다.(뒤의 칼럼을 기준으로 중복처리.)

order by절

검색된 레코드를 정렬할 때 사용
오름차순 정렬과 내림차순 정렬이 가능
문자열의 정렬은 자릿수의 정렬을 수행

order by 정렬할 컬럼명 정렬종류,,,
  • asc : 오름차순 정렬(기본설정)
  • desc : 내림차순 정렬

0개의 댓글