SELECT 

테이블이나 뷰에 있는 데이터를 조회할 때 사용하는 문장이다.

 

문장 구문

SELECT * (또는 컬럼)         -> 결과창에 나올 컬럼 입력( *는 테이블의 모든 컬럼)

FROM 테이블 명              -> 어느 테이블에서 검색할지 입력

WHERE 조건                   -> 해당 조건이 맞는 것을 추출

GROUP BY 컬럼 or 표현식 -> 그룹으로 묶을 컬럼명이나 표현식을 입력해서 사용 대신 GROUP BY 절에 사용한 컬럼

중에서만 결과창에 나올 컬럼으로 사용 할 수 있다.

ROLLUP(expr1, expr2, …) : expr로 명시한 표현식을 기준으로 집계한 결과를 보여준다.

         표현식 개수가 n개면 n+1레벨까지 하위 레벨에서 상위 레벨 순으로 데이터가 집계된다.

         N개의 표현식 -> N+1개 결과 나옴

        일반 컬럼과 같이 쓸 경우 일반 컬럼으로 그루핑후 ROLLUP을 수행한다.

CUBE(expr1, expr2, …) : expr로 명시한 표현식 개수에 따라 가능한 모든 조합별로 집계한 결과를 반환한다.

                           Expr수가 n이면 집계 결과의 유형은 총 2^n개로 표현

HAVING BY 조건식           -> 그룹으로 묶인 결과를 다시한번 걸러내는 역활을 한다.

ORDER BY 컬럼;              -> 정렬 방식 asc(Default) 오름차순 dsc 내림차순

 

기본적으로 SELECT ~ FROM 까지만 쓰면 사용 할 수 있고 나머지는 선택적으로 사용할 수 있다.

(HAVING BY GROUP BY절을 사용 할 때만 사용 할 수 있다.)

 

FROM 절에는 테이블이 하나만 올 수 있지만 그 이상도 올 수 있다. (당연히 추가한 테이블은 조건이나 결과창에

나올 컬럼란에도 쓸수있다.)

 

WHERE 절은 AND, OR 연산자를 넣어 조건을 추가할 수 있다.

AND : 조건이 둘다 성립하는 경우

OR : 조건 중 하나만 성립하는 경우

(후에 자세히 다룰 예정)

 

INSERT 

테이블에 데이터를 입력할 때 사용하는 문장.

문장 구문

INSERT INTO 테이블명(컬럼1, 컬럼2, …) VALUES (1, 2, …);

컬럼을 입력 안하면 SELECT문을 통해 보이는 컬럼 순서대로 VALUES 괄호 안에 넣으면 됟다.

위 문장을 쓸경우 한번에 한개의 데이터를 보낼 수 있다.

 

INSERT INTO  테이블명(컬럼1, 컬럼2,…) SELECT 

위 문장을 쓸경우 여러개의 데이터가 들어갈 수 있다하지만 테이블에 기본키유니크키가 겹치면 오류가 뜨면서 데이터 전체가 들어가지 않는다. SELECT 문은 당연히 입력되는 컬럼 순서에 맞게 데이터 타입을 맞춰야 한다.

 

UPDATE 

테이블에 있는 기존 데이터를 수정할 때 사용하는 문장

문장 구문

UPDATE 테이블명                                   -> 데이터를 변경할 테이블의 이름

SET 컬럼1 = 변경값1, 컬럼2 = 변경값2, … -> 조건 만족시 변경할 컬럼과 변경될 값 입력  

WHERE 조건;                                         -> 변경할 때의 조건을 입력

 

 

 

MERGE 

조건을 비교해서 테이블에 해당 조건이 있으면 UPDATE없으면 INSERT 문을 수행하는 문장이다.

문장 구문

MERGE INTO 테이블 명

         USING (비교할 데이터 객체)

         ON (비교할 조건)

WHEN MATCHED THEN

         조건이 맞을 경우 수행할 문장

WHEN NOT MATCHED THEN

         조건이 안 맞을 경우 수행할 문장

 

DELETE 

테이블에 있는 데이터를 삭제할 때 사용하는 문장.

 

문장 구문

DELETE 테이블 명

WHERE delete조건;

조건을 안적을 경우 테이블에 있는 모든 데이터를 지운다.

 

데이터 저장 및 복구

COMMIT; 데이터베이스에 마지막으로 반영하는 역활

ROLLBACK; 변경한 데이터를 변경하기 이전 상태로 되돌리는 역활

TRUNCATE TABLE 테이블 명 : ROLLBACK을 실행해도 돌아오지 않음

+ Recent posts