D-9 SQLD 자격증 공부&복습

강지훈·2022년 3월 3일

DML

DDL 명령어의 경우 실행시 AUTO COMMIT 하지만
DML의 경우 COMMIT을 입력해야한다
SQL Server의 경우 DML도 AUTO COMMIT

INSERT INTO PLAYER (PLAYER) VALUES ('PJS');
UPDATE PLAYER SET BACK_NO = 60;
DELETE FROM PLAYER;
SELECT PLAYER_ID FROM PLAYER;
SELECT DISTINCT POSITION 시 구분값만 출력
SELECT PLAYER AS "선수명" FROM PLAYER;

와일드카드
*: 모든
%: 모든
-:한글자

합성 연산자
문자와 문자 연결 : || (ORACLE), +(SQL Server)
SELECT PLAYER_NAME + '선수' "정보"

TCL
트랜잭션: 밀접히 관련 되어 분리될 수 없는 1개 이상의 DB조작

COMMIT: 올바르게 반영된 데이터를 DB에 반영
ROLLBACK: 트랜잭션 시작 이전의 상태로 되돌림
SAVEPOINT: 저장 지점

트랜잭션의 특성
1. 원자성: 트랜잭션에서 정의된 연산들은 모두 성공적으로 실행되던지 아니면 전혀
실행되지 않아야 함
2. 일관성: 트랜잭션 실행 전 DB내용이 잘못되지 않으면 실행 후도 잘못 되지 않아야 함
3. 고립성: 트랜잭션 실행 도중 다른 트랜잭션의 영향을 받아 잘못된 결과를 만들어서는 안된다.
4. 지속성: 트랜잭션이 성공적으로 수행되면 DB의 내용은 영구적으로 저장된다

연산자의 종류
BETWEEN a AND b : a와 b값 사이에 있으면 됨
IN(list) : 리스트에 있는 값중 어느 하나라도 일치
LIKE '비고문자열' : 비교문자열과 형태가 일치
IS NULL: NULL 값인 경우
NOT IN (list) : list의 값과 일치 하지 않는다
IS NOT NULL : NULL 값을 갖지 않는다

연산자 우선순위: ()-> NOT -> 비교연산자 ->AND -> OR

SELECT PLAYER_NAME 선수명 FROM PLAYER
WHERE TEAM_ID = 'K2'; -> 팀ID가 K2인 사람
WHERE TEAM_ID IN ('K2','K7')-> K2 , K7인 사람
WHERE HEIGHT BETWEEN 170 AND 180; -> 키가 170~ 180 인 사람
WHERE POSITION IS NULL; -> 포지션 없는사람

NULL 값과의 수치연산은 NULL값을 리턴한다
NULL 값과의 비교연산은 거짓(FALSE)를 리턴한다

ROWNUM: 원하는 만큼의 행을 가져올 떄 사용
SELECT TOP(1) PLAYER_NAME FROM PLAYER;

profile
never stop

0개의 댓글