본문 바로가기

전체 글

(63)
SQLD 시험 대비 - Group By, Join (3) 1. Minus 차집합 A 칼럼에만 있는 값을 추린다 하면 Select * From A Minus Select * From B; 2.Equi Join, Non-Equi Join 2-1 EQUI JOIN 동일한 컬럼을 사용하여 두 릴레이션을 결합한다. Ex_ A.Key = B.Key; 2-2 Non EQUI JOIN 정확하게 일치하지않는 칼럼들을 사용하여 두 릴레이션을 결합, = 를 사용하지 않음 ex. A.key , B.Key 3. Cross Join - Key 없이 Join하면 2개의 테이블에 대해 카테시안 곱 발생 q1 q2 q 10 w 11 e 12 T1 코드 이름 qq max ww java ee google T2 Select * from T1 Cross Join T2; 3 * 3 = 9 개의 행이..
SQLD 시험 대비 - Group By, Join (2) Join 이란? 테이블 간의 결합, 집합과 유사하다. 교집합 Inner Join Left Join Right Join Outer Join 합집합 Union (All) 차집합 Minus(oracle) = Except(SQL server) 결합되는 대상간의 일치정도 Equi 조인 Non-Equi 조인 조건구 없는 Cross Join 1.Inner Join Select table1.*, table2.col1 From table1 A Inner Join table2 B On A.col1 = B.col1; == Select A.table,B.table From table1 A, table2 B Where A.col1 = B.col1 Inner Join - Join 후 특정 행만 호출할 때 Select table1..
SQLD 시험 대비 - Group By, Join (1) 시험에 앞서 중요하다 생각되는 Group By, Join에 대해 노랑이책과 함께 정리하도록 하겠다. Select col1, col2, count(col3) From Info Group By col1, col2; --->>> 이런 식으로 사용한다. Group By 형태의 함수 1. ROLLUP - 부분합계와 전체 합계값을 보여준다. - 인수의 순서에 영향을 받는다. Select col1,col2 From Info Group by ROLLUP(col1, col2) Order by col1, col2; ex의 san francisco의 3번째는 첫 인자의 합이고 SanJose의 3번째는 첫인자의 합이다. 이런 식으로 부분합계를 구할 수 있다. 2. CUBE - 그룹화될 수 있는 모든 경우에 대해 생성 Sele..
SQLD 시험 대비 - SQL 활용편(3) DCL : 유저 생성하고 권한을 제어할 수 있는 명령어 (Grant, Revoke) Oracle과 SQL Server의 사용자 아키텍처 차이 Oracle : 유저를 통해 DB에 접속을 하는 형태, ID와 PW 방식으로 인스턴스에 접속을 하고 그에 해당하는 스키마에 오브젝트 생성 등의 권한을 부여받게 됨 SQL Server : 인스턴스에 접속하기 위해 로그인이라는 것을 생성하게 되며, 인스턴스 내에 존재하는 다수의 DB에 연결하여 작업하기 위해 유저를 생성한 후 로그인과 유저를 매핑해 주어야 한다. Windows 인증 방식과 혼합 모드 방식이 존재함. 시스템 권한 : 사용자가 SQL문을 실행 하기 위해 필요한 적절한 권한 - Grant : 권한 부여 - Revode : 권한 취소 Grant Create U..
SQLD 시험 대비 - SQL 활용편(3) 윈도우 함수 : 행과 행간의 관계를 정의하거나 행과 행간을 비교, 연산하는 함수( 분석 함수, 순위 함수) 순위 관련 함수( 그룹 내 ) : - Rank : 동일한 값에 대해서는 동일한 순위를 부여 (1,2,2,4) 그다음 순위 건너 뜀 - 동일 순위 처리가능 - Dense_Rank : 동일한 값에 대해 동일한 순위 부여, 그 다음 순위 건너뛰지 않는다. (1,2,2,3) - 순차적 - Row_Number : 동일한 값이라도 고유한 순위 부여 (1,2,3,4) 집계 관련 함수 - Sum : 파티션 별 윈도우의 합 구할 수 있다. ex_ e,g 같은 매니저를 두고 있는 사원들의 월급 합 Select Sum(sal) over (Partition By MGR) as Mgr_sum from emp; - Max,..
SQLD 시험 대비 - SQL 활용편(2) 계층형 질의 : 테이블에 계층형 데이터가 존재하는 경우 데이터를 조회하기 위해 사용 ex_팀장과 사원 Start With : 계층 구조 전개의 시작 위치 지정 Connect By : 다음에 전개될 자식 데이터 지정 Prior : Connect By 절에 사용되며 현재 읽은 칼럼을 지정한다. Prior 자식 = 부모 형태를 사용하면 계층 구조의 부모 데이터에서 자식 데이터( 부모 -> 자식 ) 방향으로 전개하는 순 방향 전개를 한다. 역 방향 전개 Nocycle : 동일한 데이터가 전개 되지 않음. Order Siblings By : 형제 노드간의 정렬 수행 -> 값이 같은 복수의 raw이 있을 때 ~ 기준으로 정렬 Where : 모든 전개를 수행한 후에 지정된 조건을 만족하는 데이터만 추출한다.(필터링)..
SQLD 시험 대비 - SQL 활용편(1) SQL 기본에서 익힌 것을 복습하고 기본에서 익힌 것을 활용하여 더 복합적인 것을 배운다. 집합 연산자 : 두 개 이상의 테이블에서 조인을 사용하지 않고 연관된 데이터를 조회할 때 사용 Select 절의 컬럼 수가 동일 하고 Select 절의 동일 위치에 존재하는 칼럼의 데이터 타입이 상호 호환될 때 사용 가능 일반 집합 연산자 : 1. UNION : 합집합 ( 중복 행 1개로 정렬) 2. UNION ALL : 합집합 ( 중복 행도 표시 ) 정렬 x 3. INTERSECT : 교집합 (중복 행 1개로) 4. MINUS : 차집합( 중복 행 1개로 ) 5. CROSS JOIN: 곱집합 (PRODUCT) ALIAS는 처음 테이블, 정렬은 마지막 테이블 기준 순수 집합 연산자 : 관계형 DB를 새롭게 구현 1..
SQLD 시험 대비 - SQL 기본 (3) 다중행 집계 함수 1. 여러 행들의 그룹이 모여서 그룹당 단 하나의 결과를 돌려주는 함수이다. 2. GROUP BY 절은 행들을 소 그룹화 한다. 3. Select , Having, Order By 절에 사용가능 - All : Default 옵션, 생략 가능 - Distinct : 같은 값을 하나의 데이터로 간주 옵션 Count(*) : Null 포함 행의 수 Count(표현식) : Null 제외 행의 수 Sum, Avg : Null 제외 합계, 평균 연산 Stddev: 표준편차 Varian : 분산 Max , Min : 최댓값, 최솟값 Group By, Having절의 특징 1. Group By 절을 통해 고 소 그룹별 기준을 정한 후 Select 절에 집계함수를 사용한다. 2. 집계 함수의 통계정보는..

반응형