일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- data
- SQL
- INSERT
- 30일챌린지
- 빅데이터
- 직장생활
- 직장인일기
- 데이터모델링
- SQLD
- Drop
- Update
- 회사싫어
- 도전
- ROWNUM
- 넷플릭스
- 책리뷰
- 테이블삭제
- where절
- 보울룸
- 환생
- 30일글쓰기
- 홈트
- constraint
- 전생
- rename
- 일기
- 인덱스
- null
- ERD
- 회사생활
- Today
- Total
목록전체 글 (132)
최보름달
절차형 SQL 절차형 SQL 을 이용하면 SQL문의 연속적인 실행이나 조건에 따른 분기처리를 이용하여 특정 기능을 수행하는 저장 모듈을 생성할 수 있다. DBMS별로 제공하는 절차형 SQL 오라클 : PL(Procedural language)/SQL sql server : T-SQL 오라클 PL/SQL 오라클의 PL/SQL은 block 구조로 되어있다. block 내에는 DML 문장과 쿼리 문장, 절차형 언어(IF, LOOP) 등을 사용할 수 있다. PL/SQL 을 이용하면 다양한 저장 모듈을 개발할 수 있다. 저장 모듈이란 PL/SQL 문장을 데이터베이스 서버에 저장해서 사용자와 애플리케이션 사이에서 공유할 수 있도록 만든 일종의 SQL 컴포넌트 프로그램이다. (독립적으로 실행될 수 있는 실행 프로그램..

DCL 유저를 생성하고 권한을 제어할 수 있는 명령어 유저와 권한 다른 부서 간, 다른 회사 간 데이터를 공유하기 위해 DB를 오픈해야 하는 경우, 새로운 유저를 생성하고 생성한 유저에게 공유할 테이블이나 기타 오브젝트에 대한 접근 권한만을 부여하면 된다. 대부분 데이터베이스에서는 데이터 보호와 보안을 위해 유저와 권한을 관리하고 있다. 오라클에서 기본적으로 제공되는 유저는 SCOTT, SYS, SYSTEM 이 있다. SCOTT : 오라클 테스트용 샘플 유저. 디폴트 패스워드: TIGER SYS : DBA 롤을 부여받은 유저 SYSTEM : 데이터베이스 모든 시스템 권한을 부여받은 DBA 유저. 오라클 설치 롸욜 시에 패스워드를 설정한다. 오라클과 sql server는 사용자에 대한 아키텍처가 많이 다르..
WINDOW FUNCTION 개요 행과 행 간의 관계를 쉽게 정의하기 위해 만든 함수가 윈도우 함수다. 윈도우 함수는 분석 함수나 순위 함수로도 알려져 있다. 윈도우 함수는 기존에 사용하던 집계 함수도 있고, 새로이 윈도우 함수 전용으로 만들어진 기능도 있다. 윈도우 함수는 다른 함수와 달리 중첩해서 사용은 못하지만, 서브쿼리에는 사용할 수 있다. WINDOW FUNCTION 종류 WINDOW FUNCTION 는 크게 5가지 그룹으로 분류할 수 있다. (벤더별로 지원하는 함수 차이가 있음) 그룹 내 순위(RANK) 관련 함수: RANK, DENSE_RANK, ROW_NUMBER 그룹 내 집계(AGGREGATE) 관련 함수 : SUM, MAX, MIN, AVG, COUNT (sql server는 OVER ..
분석 함수 SQL 표준은 데이터 분석을 위해 다음 세 가지 함수를 정의하고 있다. AGGREGATE FUNCTION GROUP FUNCTION WINDOW FUNCTION AGGREGATE FUNCTION GROUP AGGREGATE FUNCTION 라고도 부르는 그룹 함수의 한 부류이다. COUNT, SUM, AVG, MAX, MIN 등이 포함되어 있다. GROUP FUNCTION 리포트를 작성할 때 사용하기 좋은 함수이다. 소계, 중계, 합계, 총 합계 등을 구할 수 있다. 소그룹 간의 소계를 계산하는 ROLLUP, GROUP BY, 다차원적 소계를 할 수 있는 CUBE, 특정 항목의 소계를 할 수 있는 GROUPING SETS 함수가 있다. WINDOW FUNCTION 분석 함수 (ANALYTIC ..
뷰(view) 테이블은 실제로 데이터를 가지고 있는 반면, 뷰(view)는 실제 데이터를 가지고 있지 않다. 뷰는 단지 뷰 정의 (view definition)만을 가지고 있다. 질의에서 뷰가 사용되면 뷰 정의를 참조해서 DBMS 내부적으로 질의를 재작성 하여 질의를 수행한다. 뷰는 실제 데이터를 가지고 있지 않지만 테이블이 수행하는 역할을 수행하기 때문에 가상 테이블(virtual table)이라고도 한다. 뷰의 장점 독립성 : 테이블 구조가 변경되어도 뷰를 사용하는 응용 프로그램은 변경하지 않아도 된다. 편리성 : 복잡한 질의를 뷰로 생성함으로써 관련 질의를 단순하게 작성할 수 있다. 보안성 : 직원의 급여정보와 같이 숨기고 싶은 정보가 존재한다면 뷰를 생성할 때 해당 컬럼을 빼고 생성해서 감출 수 ..

서브 쿼리 서브 쿼리란 하나의 sql 문 안에 포함되어 있는 또 다른 sql 문을 말한다. 서브쿼리는 알려지지 않은 기준을 이용한 검색을 위해 사용한다. 서브쿼리는 메인쿼리의 컬럼을 모두 사용할 수 있지만, 메인쿼리는 서브쿼리의 컬럼을 사용할 수 없다. 질의 결과에 서브쿼리 컬럼을 표시해야 한다면 조인 방식으로 변환하거나 함수, 스칼라 서브쿼리 등을 사용해야 한다. 서브쿼리 이용시 주의사항 서브쿼리를 괄호로 감싸서 사용한다. 서브쿼리는 단일행(single row) 또는 복수행(multiple row)비교 연산자와 함께 사용 가능하다. 단일행 비교 연산자는 서브쿼리의 결과가 반드시 1건 이하여야 하고 복수행 비교 연산자는 서브쿼리의 결과 건수와 상관 없다. 서브쿼리에서는 ORDER BY 를 사용하지 못한다..

셀프 조인이란, 동일 데이블 사이의 조인을 말한다. FROM 절에 동일 테이블이 두 번 이상 나타난다. 같은 테이블끼리 조인하는 것이므로 별칭(ALIAS)을 꼭 사용해야 한다. 예시 SELECT A.EMPNO 사원번호, A.ENAME 사원명, B.ENAME 관리자명 FROM EMP A, EMP B WHERE A.MGR = B.EMPNO 사원이라는 테이블에는 사원과 관리자가 모두 하나의 사원 개념으로 동일시하여 같이 입력되어 있다. 이것을 이용해서 "자신과 상위, 차상위 관리자를 같은 줄에 표시하라"는 문제를 셀프 조인을 이용해서 풀 수 있다. SELECT E1.ENAME 사원, E1.MGR 관리자, E2.MGR 차상위_관리자 FROM EMP E1, EMP E2 WHERE E1.MGR = E2.EMPNO ..

계층형 질의 (Hierarchical Query) 계층형 데이터를 조회할 때 사용하는 쿼리. 계층형 데이터란, 동일 테이블에 상위와 하위 데이터가 포함된 데이터를 의미한다. 예를 들면, 사원-관리자 테이블인 경우. 오라클 계층형 질의 SELECT ... FROM 테이블 WHERE condition AND condition... START WITH condition CONNECT BY [NOCYCLE] condition AND condition... [ORDER SIBLINGS BY column, column, ...] START WHIT 절은 계층 구조 전개의 시작 위치를 저장하는 구문이다. 루트를 지정한다. (액세스) CONNECT BY 절은 다음에 전개될 자식 데이터를 지정하는 구문이다. 자식 데이터..

JOIN을 이용하지 않고 연관된 데이터를 조회하는 방법이 있다. 집합 엽산자(Set Operator)를 사용하는 것이다. 집합 연산자는 여러 개의 질의 결과를 나열해서 결합하는 방식이다. 서로 다른 테이블에서 유사한 형태의 결과를 반환하는 것을 하나의 결과로 합칠 때 사용할 수 있다. 집합 연산자를 사용하려면 SELECT 절의 컬럼 수가 동일하고 데이터 타입이 호환 가능해야 한다. 집합 연산자 종류 UNION : 합집합. 모든 중복된 행을 하나로 합친다. UNION ALL : 합집합이지만, 중복된 행도 그대로 결과로 표시된다. INTERSECT : 교집합. EXCEPT : 차집합. (MINUS를 사용하기도 한다) 집합 연산자의 SQL문 형태 SELECT 컬럼명1, 컬럼명2, ... FROM 테이블1 집합..

OUTER JOIN INNER(내부) JOIN 과 대비해서 OUTER(외부) JOIN 이라고 불린다. JOIN 조건에서 동일한 값이 없는 행도 반환할 때 사용할 수 있다. LEFT OUTER JOIN 좌측 테이블에 해당하는 데이터를 먼저 읽은 후, 나중에 표기된 우측 테이블에서 JOIN 대상 데이터를 읽어온다. 우측 테이블에 값이 없다면 NULL로 표시한다. LEFT JOIN 으로 OUTER 키워드를 생략해서 사용할 수 있다. STADIUM에 등록된 운동장 중 홈팀이 없는 경기장도 있다. 홈팀이 없는 경기장도 확인할 수 있게 출력하는 예시 SELECT S.NAME, S.STADIUM_ID, SEAT_COUNT, HOMETEAM_ID, TEAM_NAME FROM STADIUM S LEFT OUTER JOI..