본문 바로가기

분류 전체보기76

[SQL] 뷰(VIEW) 뷰(view) 하나 이상의 기본 테이블이나 다른 뷰를 이용하여 생성되는 가상 테이블 - 기본 테이블은 디스크에 공간이 할당되어 데이터를 저장함 - 뷰는 데이터 딕셔너리 (Data Dictionary) 테이블에 뷰에 대한 정의 (SQL 문) 만 저장되어 디스크 저장 공간 할당이 이루어지지 않음 - 전체 데이터 중에서 일부만 접근할 수 있도록 함 - 뷰에 대한 수정 결과는 뷰를 정의한 기본 테이블에 적용됨 - 뷰를 정의한 기본 테이블에서 정의된 무결성 제약조건은 그대로 유지됨 뷰의 필요성 - 사용자 마다 특정 객체만 조회할 수 있도록 할 필요가 있음 (모든 직원에 대한 정보를 모든 사원이 볼 수 있도록 하면 안 됨) - 복잡한 질의문을 단순화 할 수 있음 - 데이터의 중복성을 최소화할 수 있음 예) 판매부에.. 2023. 2. 12.
[SQL] 집합연산자 2023. 2. 9.
JOIN 핵심정리 INNER JOIN INNER JOIN은 OUTER JOIN과 대비하여 내부 JOIN이라고 하며 JOIN 조건에서 동일한 값이 있는 행만 반환된다. CROSS JOIN 테이블 간 JOIN 조건이 없는 경우 생길 수 있는 모든 데이터의 조합(카타시안 곱)을 말한다. 결과는 양쪽 집합의 M*N 건의 데이터 조합이 발생한다. LEFT OUTER JOIN 조인 수행시 먼저 표기된 좌측 테이블에 해당하는 데이터를 먼저 읽은 후, 나중 표기된 우측 테이블에서 JOIN 대상 데이터를 읽어 온다. 즉, TABLE A와 B가 있을 때 (TABLE 'A'가 기준이 됨), A와 B를 비교해서 B의 조인 칼럼에서 같은 값이 있을 때 그 해당 데이터를 가져오고, B의 JOIN 칼럼에서 같은 값이 없는 경우에는 B테이블에서 가져.. 2023. 2. 9.
ORDER BY 테이블에서 조회한 테이블을 정렬할 때 ORDER BY 절을 사용한다. 문법 SELECT * FROM 테이블명 ORDER BY 칼럼명 or 표현식 [ASC 또는 DESC]; ORDER BY 절 특징 기본적인 정렬 순서는 오름차순(ASC)이다. 숫자형 데이터 타입은 오름차순으로 정렬했을 경우에 가장 작은 값부터 출력된다. 날짜형 데이터 타입은 오름차순으로 정렬했을 경우에 가장 빠른 날짜값이 출력된다. Oracle에서는 NULL 값을 가장 큰 값으로 간주하여 오름차순으로 정렬했을 경우에는 가장 마지막에, 내림차순으로 정렬했을 경우에는 가장 먼저 위치한다. 반면, SQL Server에서는 NULL 값을 가장 작은 값으로 간주하여 오름차순으로 정렬했을 경우에는 가장 먼저, 내림차순으로 정렬했을 경우에는 가장 마지.. 2023. 2. 8.
GROUP BY , HAVING GROUP BY 집계함수를 사용하여 특정 그룹으로 구분 할 때는 GROUP BY 절을 사용한다. SELECT deptno, MIN(sal) FROM emp GROUP BY deptno; HAVING 집계함수를 사용하여 조건비교를 할 때 HAVING 절을 사용한다. SELECT b.dname, COUNT(a.empno) "사원수" FROM emp a, dept b WHERE a.deptno = b.deptno GROUP BY dname HAVING COUNT(a.empno) > 5; GROUP BY절과 HAVING절의 특성 GROUP BY 절을 통해 소그룹별 기준을 정한 후, SELECT 절에 집계 함수를 사용한다. 집계 함수의 통계 정보는 NULL 값을 가진 행을 제외하고 수행한다. GROUP BY 절에.. 2023. 2. 8.
연산자의 우선순위 SQL문에서 연산자의 우선순위 1. 괄호로 묶은 연산 2. 부정 연산자 (NOT) 3. 비교 연산자 (=,>,>=,=, 2023. 2. 7.
데이터베이스 트랜잭션의 4가지 특성 2023. 2. 7.
DROP, TRUNCATE, DELETE 비교 2023. 2. 7.
SQL 명령어 2023. 2. 7.