티스토리 뷰
1. SELECT LENGTH(colum1) FROM table1
- 컬럼의 길이 반환
- 컬럼값이 abc인경우. CHAR(10)이면 결과값은 10. varchar(10)이면 결과값은 3.
2. 날짜 데이터 타입 종류 (DATE, TIMESTAMP)
- DATE, TIMESTAMP의 차이점 : 연도/월/일/시/분/초는 DATE와 동일하지만, TIMESTAMP은 초의 밀리초까지 반환가능하다.
- TIMESTAMP .예시 15/03/04 00:26:28.5760000
3. 제약조건
- 데이터베이스 객체중 하나로 데이터 무결성을 보장하기 위한것이다.
- 제약조건 종류 : NOT NULL, UNIQUE, 기본키(PRIMARY KEY), 왜래키, CHECK 등
4. UNIQUE
- UNIQUE 비교대상에서 NULL은 제외된다. (NULL 허용 컬럼과 NOT NULL 컬럼의 값은 중복되도 된다는 뜻)
5. 기본키(PRIMARY KEY)
- UNIQUE와 NOT NULL 속성을 동시에 갖고있다.
- 테이블당 1개의 기본키만 생성가능하다.
- 예시. 사번을 가진 직원이 퇴사후 재입사한 경우 사번이 2개가 생길수 있다. 대신 예전사번이 있는 로우의 퇴사일자 컬럼에 데이터가 입력된다.
- 테이블 만들땐 보통 기본키 생성은 필수다.
6. 외래키
- 다른 테이블에서 왜래키로 '부서'테이블의 '부서정보'를 사용중인경우, 해당 '부서정보' 삭제를 시도한다면 오류가 발생해 데이터삭제를 막아 참조무결성이 보장된다.
- 반드시 참조하는 테이블이 먼저 생성되어야 하며, 참조키가 참조 테이블의 기본키로 만들어져 있어야한다.
7. GROUP BY
- WHERE와 ORDER BY 사이에 위치한다.
- 예시.
SELECT department_id
FROM table1
GROUP BY department_id
ORDER BY department_id;
- SELECT 리스트에 있는 컬럼명은 모두 GROUP BY절에 명시해야한다. (집계함수 제외)
- 오류예시.
SELECT department_id
FROM table1
GROUP BY department_id
ORDER BY department_id, department_no;
ㄴ 정답.
SELECT department_id, department_no
FROM table1
GROUP BY department_id
ORDER BY department_id, department_no;
7. HAVING
- GROUP BY한 결과를 대상으로 다시 필터를 거는 역할이다.
- GROUP BY절 다음에 위치한다.
- 예시.
SELECT department_id, department_no, SUM(total_salary)
FROM table1
WHERE department_no > 100
GROUP BY department_id
HAVING SUM(total_salary)>1000000
ORDER BY department_id, department_no;
'Backend' 카테고리의 다른 글
리눅스 사용해보기 - Virtual Box (0) | 2023.03.21 |
---|---|
JSP & & Servlet & HTML 의 차이 / 사용법 (0) | 2023.01.29 |
리눅스(Linux) - 명령어 모음 (0) | 2023.01.28 |
- Total
- Today
- Yesterday