DB 기본
2617 단어 Daily studydbDaily study
Transaction
- 데이터베이스의 상태를 변화시키는 작업 단위
- START TRANSACTION: COMMIT, ROLLBACK이 나올 때까지 실행되는 모든 SQL
- COMMIT: 모든 코드 실행
- ROLLBACK: START TRANSACTION 실행 전 상태로 되돌아감
Aggregation
- 집계함수
- 하나 이상의 행을 묶어 연산
- sum(): 합
- avg(): 평균
- count(): 개수
- max(): 최댓값
- min(): 최솟값
group by
- 쿼리 결과를 그룹으로 묶음
- 그룹 별 단일 결과 행을 반환
SELECT *
FROM emp
WHERE ename=''
GROUP BY salary
HAVING
ORDER BY
- FROM(1) → WHERE(2) → GROUP BY(3) → HAVING(4) → SELECT(5) → ORDER BY(6)
- having: gorup by 결과에 조건 추가
SET
- 모든 집합 연산자는 동일한 우선순위를 가짐
- select 절에 있는 속성 개수와 타입이 일치해야함
- UNION: 합집합(중복되는 부분은 한번만 표시)
- UNION ALL: 합집합(중복되는 부분 전체 다 표시)
- INTERSECT: 교집합
- MINUSL: 차집합
JOIN
- 둘 이상의 테이블에서 데이터가 필요한 경우 사용
- WHERE: 일반 조건
- ON: 조인 조건
- INNER JOIN
- OUTER JOIN
- LEFT OUTER JOIN
- RIGHT OUTER JOIN
- NATURAL JOIN
- CROSS JOIN(FULL JOIN, CARTESIAN JOIN)
- MySQL: INNER JOIN의 경우 ‘,’로 두 테이블을 연결해도 가능
INNER JOIN
- 교집합
- 동등 조인(Equi-Join)
- N개의 테이블 → N-1 개의 조인 조건 필요
- 조인되는 각 테이블이 같은 컬럼명을 사용할 경우 using()을 통해 단순화(테이블 명이나 alias 사용하면 에러)
NATURAL JOIN
- 동일한 타입과 이름을 가진 컬럼으로 자동 조인하여 간단히 표현
OUTER JOIN
- LEFT, RIGHT, FULL(MySQL은 미지원)
- 어느 한쪽 테이블에만 해당하는 데이터가 검색되지 않는 문제를 해결하기 위해 사용
SELF JOIN
- 같은 테이블끼리 JOIN
None-Equi JOIN
- 기본키, 외래키가 아닌 일반 컬럼을 조인 조건으로 지정
- <, > 등의 비교 연산도 포함
Subquery
- 다른 쿼리 내부에 포함되어 있는 SELECT 문
- 외부(메인) 쿼리 ↔ 서브(내부) 쿼리
- 중첩 서브 쿼리(Nested Subquery): WHERE 문에 작성
- 단일행
- 다중행
- 다중 컬럼
- 인라인 뷰(Inline View): FROM 문에 작성 → 뷰처럼 동적으로 생성된 테이블 사용 가능
- Scalar Subquery: SELECT 문에 작성
- SELECT, FROM, WHERE, HAVING, ORDER BY, INSERT - VALUES, UPDATE - SET에 위치 가능
- CREATE TABLE 밑, INSERT INTO 밑, UPDATE와 DELETE 문 WHERE 절에 위치 가능
Author And Source
이 문제에 관하여(DB 기본), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ghc1124/DB-기본-bbh54gbu저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)