- 1019(24일차) - sql 3일2023년 10월 19일 16시 36분 37초에 업로드 된 글입니다.작성자: 삶은고구마
caret(^)
-대괄호([)안에 쓰면 부정의 의미 [^[:digit:]]
-보통은 시작의 의미 '^(김|이)'
그룹행 함수
-그룹 당 한 번 처리 되는 함수
-GROUP BY 구문이 없다면 모든 행이 하나의 그룹으로 간주된다.
-NULL인 값은 제외된다.
SUM(VALUE) 존재하는 컬럼/가상컬럼의 행 별 합계 반환 AVG(VALUE) 존재하는 컬럼/가상컬럼의 행 별 평균 반환 COUNT(VALUE) NULL이 아닌 행의 수를 반환 MAX(VALUE) / MIN(VALUE) 최대값,최소값
-숫자 뿐만이 아니라 날짜,문자에서도 조회 가능
-날짜는 미래값이 크고 과거값이 작음
-문자열은 가나다순GROUP BY
-존재하는 컬럼/가상컬럼 기준으로 행을 그룹핑 할 수 있다.
-그룹함수와 함께 사용된다.
-일반행의 컬럼을 동시에 조회 할 수 없다.
- NULL인 값도 조회 가능.
-SELECT구문에는 GROUP BY에 명시한 컬럼만 작성 가능
-GROUP BY 컬럼1,컬럼2.. 복수 가능
-컬럼1,컬럼2의 값을 동시에 그룹핑에 사용(순서 상관X)
HAVING
-그룹핑된 결과에 대해 필터링 처리
-조건절 이므로 BOOLEAN을 반환하는 식을 작성한다.
ROLL UP/ CUBE
ROLLUP : GROUP BY 결과에 추가적으로 단방향 소계 지원
CUBE : GROUP BY 결과에 추가적으로 양방향 소계 지원
JOIN
-중복 제거
-두 개 이상의 테이블 레코드(행)을 연결하여
하나의 가상테이블(RELATION) 생성
-데이터는 서로 연관성을 가지고 독립적으로 존재한다(테이블 정규화 결과)
RELATION을 만드는 2가지 방법
1.JOIN:특정 컬럼 기준으로 행과 행을 합치는 기술
2.UNION(집합연산): 열과 열을 합치는 기술
JOIN 문법
1.ANSI 표준문법 JOIN , ON
2.ORACLE 전용 문법 , (+)
JOIN 구분하기
1.EQUI JOIN : 동등비교에 의한 조인 연산자
실제로 조인의 종류는 내부/외부/크로스라 생각하면 됨.
명칭 특징 기타 1.내부 조인(INNER) 교집합
키워드 기준으로
좌우 테이블 바뀌어도
결과는 동일2.외부 조인(OUTER) OUTER 키워드 생략가능
INNER에서 각 테이블에서 제외된
행을 추가함.
LEFT
RIGHT
FULL
내부조인을 하고 어떠한 행이 빠지는지
확인한 후 외부 조인 고려3.크로스 조인(CROSS) 상호조인
카테시안의 곱 -모든 경우의 수
두 테이블을 모든 경우의 수로 조인
EX)
24행 * 9행 = 216행4.자가 조인(SELF) 같은 테이블을
좌/우에 위치시켜 조인
같은 테이블내에
참조가 존재할 때 사용
내부조인 기준으로 왼/오 테이블에서
제외된 행들을 포함할것인지 아닌지에 따라 달리사용5.다중 조인(MULTIPLE) 다중 조인
한 번에 2개의 테이블을 조인
=>이를 여러번 반복/처리 가능
조인된 결과(RESULTSET)을
테이블처럼 취급할 수 있음.
조인되는 순서가 중요함
서로 연관되어있는 테이블끼리
순차적으로 조인해야함.(ANSI)다중조인 테이블1,2와 조인한다.
그 결과 테이블을 테이블 3과 조인하고,
또 그 결과 테이블을 테이블 4와 조인함.
단, 첫 조인 결과에서 누락되는 행이 있는 경우 그 다음 조인에서도 계속 누락되므로
마지막 결과에 포함시키고 싶다면 left 조인 등을 해줘야함.
2.NON - EQUI JOIN : 동등비교를 사용하지 않은 조인 !=,IN,AND 등
'공부' 카테고리의 다른 글
javascript - this (0) 2023.11.29 1113 -git/sourcetree사용방법 (0) 2023.11.13 oracle sql developer 오류 (0) 2023.10.18 1018(23일차) - sql2일 (0) 2023.10.18 1017(22일차) - 오라클,sql기초 (1) 2023.10.17 다음글이 없습니다.이전글이 없습니다.댓글