본문 바로가기

자격증/SQLD

(21)
서브쿼리(Sub Query) 서브쿼리 : 하나의 SQL문안에 포함되어 있는 또 다른 SQL문을 말함 특징 메인쿼리는 출력결과에 서브쿼리의 칼럼표시는 불가능 아래 2가지 방법) 조인 방식으로 변환 스칼라 서브쿼리 주의할 점서브쿼리는 괄호로 감쌈복수, 단일 행 모두 가능, 단일행의 경우 연산자가 사용 가능하며 결과가 반드시 1건 이하여야함서브쿼리는 ORDER BY를 사용하지 못함, SELECT 절에서 오직 한번만 사용 가능 서브쿼리의 종류비연관(un-correlated): 서브쿼리가 메인쿼리의 값을 갖지 않는 형태연관(crrelated): 서브쿼리가 메인쿼리의 칼럼을 가지고 있는 형태 반환되는 형태단일 행(single row): 실행 결과가 항상 1건 이하, 단일 행 비교 연산자 사용 가능다중 행(multi row): 다중 행 비교 연..
계층형 질의와 셀프 조인 1. 계층형 질의 (Hierarchical Query) 계층적 데이터를 조회하기 위해 사용DBMS 벤더와 버전에 따라 모두 다른 방법으로 지원 (표준 방법이 없음) 오라클 형식SELECT…FROMTABLEWEHRE CONDITION AND CONDTION…START WITHconditionCONNECT BY [NOCYCLE] condition AND condition…[ ORDER SIBLINGS BY column, column …] 설명START WITH : 전개의 시작 위치를 지정하는 구문CONNECT BY : 자식을 지정하는 구문PRIOR 자식 = 부모 : 순방향 전개, 반대로는 역방향 전개NOCYCLE : 데이터를 전개하면서 이미 나타났던 동일한 데이터가 다시 나타난다면 이것을 사이클이라하며 NO..
집합 연산자(SET OPERATION) 집합 연산자의 종류UNION 합집합, 중복 제거 UNION ALL 합집합, 중복 허용 INTERSECT 교집합 EXCEPT A - B, MINUS, A={1,2,3,5} B={1,2,3,4}일 때 A EXCEPT B 는 아래와 같다 {5}, 반대인경우 {4} 사용방법SELECT * FROM TABLE WHERE CONDITIONS[ UNION | UNION ALL | INTERSECT | EXCEPT ]SELECT * FROM TABLE WHERE CONDITIONS
JOIN 1. 개요 정의두 개 이상의 테이블 들을 연결 또는 결합하여 데이터를 출력하는 것 특징주로 PK와 FK 등으로 연결이 가능함, 이외의 값도 가능FROM 절에 3개 이상의 테이블이 있더라도 단 2개의 테이블만 JOIN 처리됨 A, B, C가 있어도 A, B를 먼처 처리 후 그 결과물과 C를 비교하여 처리한다. 2. EQUI JOIN 특징PK - FK 관계를 기반으로 함, 단 무조건적인 전제는 아님다른 DBMS에비해 관계형 DBMS의 큰 장점WHERE 절에 = (Equal 비교)를 통해 가능N개의 테이블 조인시 최소 N-1개의 JOIN 조건이 필요 테이블명.칼럼명인 이유두 개의 테이블에 같은 컬럼인 경우 테이블을 명시하지 않으면 ERROR 발생가독성이나 유지보수성을 높이는 효과하나는 붙히지 않아도 되지만 다..
ORDER BY 절 1. ORDER BY 절 특징조회된 데이터를 정렬 출력하는데 사용ALIAS, 칼럼 순서를 나타내는 숫자도 사용가능기본적으로 오름차순NULL에 대한 기준 oracle에서는 가장 큰 값으로 간주 SQL Server에서는 가장 작은 값으로 간주날짜형 데이터 타입은 오른 차순일 때, 날짜값이 가장 빠른 순으로 정렬 형식SELECTCOLUMNS [WITH ALIAS] …FROMTABLE_NAMEWHERECONDITIONS..GORUP BYGROUP_CONDITIONS..HAVINGHAVING_CONDTIONS..ORDER BYCOLUMN[OR ALIAS] [ASC:DEFAULT | DESC] 예제SELECTPALYER_NAME, POSITION, BACK_NOFRONPALYERORDER BYPOSITION DES..
GROUP BY, HAVING 절 1. 집계 함수 집계 함수(Aggregate Function)의 특성 여러 행들의 그룹이 모여서 그룹 당 단 하나의 결과를 돌려 줌Group By 절은 행들을 소 그룹화.Select 절, Having 절, Order By 절에 사용할 수 있음 집계 함수명ALL : default 옵션, 생략 가능, 전체를 의미DISTINCT : 같은 값을 하나의 데이터로 간주 함COUNT(*) : Null 값을 포함한 행의 수 반환COUNT(표현식) : NULL 값을 제외한 행의 수 출력SUM(표현식) : NULL 값을 제외한 합계AVG(표현식) : NULL 값을 제외한 평균MAX(), MIN()...STDDEV( 표현식) : 표준 편찬VARIAN() : 표현식의 분산을 출력 예)SELECTCOUNT(*), COUNT(H..
where 절 1. where 조건절 개요 정의결과 제한을 위한 조건 기술두 개 이상의 테이블 조인 조건 기술 형식select[distinct/all]column_name [alias]fromtable_namewhereconditions; 구성컬럼명비교 연산자문자, 숫자, 표현식비교 칼럼명(JOIN 사용시) 2. 연산자의 종류 종류비교 연산자 =, >, >=, 2000THENSALELSE2000ENDREVISED_SALARYFROMEMP; 종류simple case expression CASE 다음에 컬럼이나 조건을 표시하고 앞에서 정의한 칼럼이 표현식과 같은지 아닌지 판단하는 문장 CASE column WHEN “A” THEN “HI” WHEN “B” THEN “HELLO” ELSE “Get out here!” END..
TCL (Transaction Control Language) 1. 트랜잭션 개요 의미데이터 베이스의 논리적 연산 단위밀접히 관련되어 분리될 수 없는 한 개 이상의 데이터베이스 조작분할 불가능한 최소 단위all or nothing 특성원자성(automicity): all or nothing, 되거나 안됬거나!일관성(consistency): 트랜잭션의 전 후에 데이터베이스의 내용이 잘못이 없는 것고립성(isolation): 트랜잭션 도중에 다른 트랜잭션이 실행 될 순 없음지속성(durability): 트랜잭션의 결과가 영구적으로 저장 됨 TCLcommit: 데이터베이스의 변경사항 반영rollback: 이전 상태로 복수save point: 저장점 2. commit 입력, 수정, 삭제한 자료에 대해서 문제가 없다고 판단될 때 commit 명령을 완료할 수 있는 명령 co..