SQL 기본기 정리

SQL

목록 보기
2/8
post-thumbnail

하하 나는 이미 SQLD 땃지롱

순서

1) 문법 순서

SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY

2) 실행 순서

FROM : 조회 테이블 확인
ON : 조인 조건 확인
JOIN : 테이블 조인(병합)
WHERE : 데이터 추출 조건 확인
GROUP BY : 특정 컬럼 그룹화
HAVING : 그룹화 시킨 후 각 그룹에 적용될 조건
SELECT : 데이터 추출
DISTINCT : 중복 제거
ORDER BY : 데이터 순서 정렬
LIMIT

* Alias(as) 는 FROM, SELECT, ORDER BY 절에서만 사용 가능
그래서 FROM 절에서 정한 ALIAS를 이후에도 사용할 수 있음.
SELECT 절에서 사용한 ALIAS를 ORDER BY 절에서 사용할 수 있는 것과도 같음

tip : SQL 작성시 실행 순서대로 작성하기.
SELECT -> FROM -> WHERE 이 아니라
FROM -> WHERE -> SELECT 순으로 적으면 좋음. 이후에 성능적으로 튜닝할 수 있는 요소를 발견하기 용이하기 때문. 덜 헷갈린다고 함.

출처 : https://jaehoney.tistory.com/191

트랜잭션

데이터베이스 시스템에서 하나의 논리적 기능을 정상적으로 수행하기 위한 작업의 기본단위.

트랜잭션의 특성 (ACID)

A (Atomicity) 원자성

  • 분해 불가능한 작업의 최소 단위.
  • 연산 전체가 성공 or 실패 (all or nothing)
  • 하나라도 실패시 전체 취소

C (Consistency) 일관성

  • 트랜잭션 성공 후 항상 일관된 DB상태 보존해야 함.
  • 무결성제약조건, 동시성제어

I (Isolation) 격리성

  • 트랜잭션 실행 중 생성하는 연산 중간 결과를 다른 트랜잭션이 접근 불가.
    (진화할 때 건드리지 말기)
  • 병행제어 & Lock!

D (Durability) 영속성

  • 성공 완료된 트랜잭션 결과는 영속적으로 DB에 저장.

트랜잭션제어 명령어 (TCL)

COMMIT

트랜잭션 확정, 트랜잭션 영구저장 명령어

ROLLBACK

트랜잭션 취소, 트랜잭션 저장 무효화

CHECKPOINT

저장시기 설정, ROLLBACK 을 위한 시점 저장

병행제어

다수의 사용자 환경에서 여러 트랜잭션을 수행할 때 DB 일관성을 위해 상호작용을 제어하는 기법.
DB 공유룰 최대화 하고 활용도를 최대화.
대표적으로 LOKING 기법이 있음.

DDL (Data Definition Language)

데이터 정의어. 데이터 구조 정의 명령어 모임. 생성 변경 삭제 이름변경 데이터 구조와 관련된 명령어.

DDL 명령어

  • CREATE, ALTER, DROP, TRUNCATE

DML (Data Management Language)

데이터 조작어. 저장 자료를 입력, 수정, 삭제, 조회 (CRUD) 수행

DML 명령어

  • SELECT, INSERT, UPDATE, DELETE

DCL (Data Controll Language)

데이터 제어어는 데이터 보안, 무결성유지 등을 위해 관리자가 사용하는 제어용 언어.

DCL 명령어

  • GRANT(권한부여), REVOKE(권한취소)

Oracle vs MSSQL vs MySQL 차이 비교

https://dev-jwblog.tistory.com/85 참고
비싼데 성능좋음 vs 윈도우쓰면 주로 사용 vs 무료!

profile
두둥탁 뉴비등장

0개의 댓글