본문 바로가기

SQL39

[SQL 중급] 20. 계층적 질의 계층형 데이터 : -. 데이터 구조에 상위, 하위 구조가 있어 순차적으로 시작하는 구조    ㄴ connect by 부모 / prior 자식 : 부모 → 자식 (순방향)    ㄴ connect by 자식 / prior 부모 : 자식 → 부모 (역방향)   예시 문제: 답 해설 : 옵션 사항 : -. Connect by no cycle : 계층(레벨)이 정해진 후 사이클 불가 -. Connect_by_isleaf : 해당 데이터가 자식(Leaf) 데이터면 1 반환, 그 외는 0 반환-. Connect_by_is_cycle : 전개 과정에서 데이터가 자식을 갖는데, 자식데이터가 부모 데이터면 1 반환, 그 외 0 반환   (Connect by no cycle옵션 사용 시에만 가능) -. Sys_connect.. 2024. 2. 24.
[SQLD] 이론 - 데이터 모델링 - 엔터티,속성,관계 1.데이터 모델링 특징모델링 3특징모델링 3 관점(1) 추상화현실세계 양식 표현 o(1) 데이터 관점What data, what relation(2) 단순화언어 표기 o(2) 프로세스 관점How , process(3) 명확화애매모호 x(3) 상관 관점What - How 상관관계 2.데이터 모델링 중요성 및 개발 단계모델링 3 중요성모델링 3 단계(1) 설계가 틀릴 시, 영향 大(1) 개념적 모델링업무 중심, 포괄적 수준, 사용자 요구 데이터 찾고 분석(2) 복잡정보, 간결표현(2) 논리적 모델링① KEY, 속성,관계 표현② 식별자 확정, 정규화, M:M 관계 해소, 참조무결성 (3) 데이터 품질(3) 물리적 모델① 어떻게 컴퓨터 하드웨어에 표현되는지 결정② 물리적 저장구조 (테이블,칼럼 등)      ㄴ.. 2024. 2. 23.
[SQLD] 이론 - 기본 문법 DDL,DML,DCL,TCL (Q1-36) 1. SQL - Data Langauge 종류DDL (Definition 정의)Creat, Alter, Rename, Drop, TruncateDML (Manipulation 조작)Select, Insert, Update, Delete DCL (Control 제어 - DB 접근권한)Grante, RevokeTCL (Transaction - 거래/수정 저장, 뒤로가기)Commit, Rollback, SavepointBegin transaction 2. DML-. As Is : 비절차적 DML - 사용자가 무슨(What) 데이터를 원하는지만을 명시-. To be : 절차적 DML - 사용자가 어떻게(How) 데이터를 접근해야 하는지              ㄴex) 오라클/SQL Server -. 테이블 명 .. 2024. 2. 23.
[SQLD] 이론 ANSI SQL -JOIN (+on / +in) 문제 풀이 순수 관계 연산자 : Select, Project, Join, Division 기본서 Q.69질문: 고객별 사용금액을 추출하는 SQL  → 고객ID, 고객명, 사용금액 (사용량*단가)  select A.고객ID, A.고객명, sum (B.사용량 * C.단가) AS "사용금액" #1차 조인 - A & Bfrom 고객 A inner join 시간대별 사용량 B on (A.고객 ID = B.고객 ID) #2차 조인 - A &Cinner join 시간대구간 C on ( B.사용시간대 between C.시작시간대 and C.종료시간대) group by A.고객ID, A.고객명 order by A.고객ID, A.고객명 ;  기본서 Q.72질문 : Left outer join + in (조건)인 경우는 ? → lef.. 2024. 2. 21.
[SQL Basic] Hackerrank 해커랭크 문제풀이 - Top Earner(Subquery) Q. Top Earner       ㄴ사원 중 가장 높은 연봉은 얼마이며 , 그 연봉을 받는 사람은 몇 명인가?  Answer : Oracle (Subquery + Count함수 사용)Step 1:  가장 높은 연봉 찾기  Step 2 : 가장 높은 연봉을 받는 사람 수 찾기  Step 3 : 서브쿼리로 합치기   더보기select max(salary*months), count (*) from Employee where (salary*months) = (select max (salary*months)   ◀ 서브쿼리에서는 반드시 "주어"가 같을 것                                           from employee ) ; 2024. 2. 8.
[SQL입문] 19. 서브쿼리_ Select절 컬럼 추가(&별칭) [SELECT절 서브쿼리]1. Rownum 함수 2. From 절 서브쿼리 - Inline View  (+테이블 뷰 추가) ▶ Top-N 쿼리3. Select/ Order by절 서브쿼리 - Scalar Subquery (+ 행 1개) 4. Select / Where 절 - 상호연관 서브쿼리 ***5. Exist 함수 ※ 서브쿼리 적용 가능 절: SELECT 절 - FROM 절 - WHERE 절 - HAVING 절 - ORDER BY 절 - INSERT문의 VALUES 절 - UPDATE문의 SET 절※ 서브쿼리에서는 ORDER BY를 사용하지 못한다.위치서브쿼리 이름특징Select 절 + 서브쿼리 /Order by + 서브쿼스칼라 서브쿼리 (Scalar Subquery서브쿼리 결과가 1개 값이어야 함 .. 2024. 2. 8.
[SQL 입문] 18.서브쿼리_단일 & 다중 1. 서브쿼리란? -. 서브쿼리 : (1단계 : inner /sub 쿼리) + (2단계 : outer / main 쿼리)를 묶어서 한 번에 조회하는 것    ㄴ 단일 행 서브쿼리 : 1단계에서 답은 1개 ◀ = >    ㄴ 복수 행 서브쿼리 : 1단계에서 답이 n개 ◀ IN,  >/>/ ALL 사용 (단독 = >  -. 서브쿼리는 괄호로 묶어야 함! -. 일반적인 서브쿼리는 Order by절을 사용하지 않음! -. Where 절에 서브쿼리 사용 시 : 내가 지정한 칼럼명 2번 나옴!  2. 서브쿼리 사용가능 위치 -. Select + 칼럼 O -. From + 테이블 O -. Where + 특정값 조건비교 O -. Group by 서브쿼리 사용 불가! X -. Having + 특정값 조건 비교 (wher.. 2024. 2. 8.
[SQL 입문] 17.집합 연산자 - INTERSECT,UNOIN,MINUS [집합 연산자] -. emp.deptno  vs  dept.deptno 2개의 다른 테이블의 중복값을 비교할 때 사용 -. 눈으로 중복값 찾기 어려울 때 사용  [사용 조건]-. 두 집합의 select 절 칼럼 수 동일할 때 사용 -. 두 집합의 칼럼명이 상이해도 사용가능 -. 두 집합의 결합 시, 칼럼명 기준이 아닌 칼럼 순서를 기준으로 결합됨   select deptno from dept ◀ 테이블1 중복값intersect select deptno from emp ; ◀ 테이블2 중복값select deptno from dept minus select deptno from emp ;select deptno from dept unionselect deptno from emp ;* Union 중복값 제거 .. 2024. 2. 7.
[SQL 입문] 16.ANSI SQL - JOIN 조건 1. ANSI SQL이란 -. ANSI SQL : 미국 국립 표준 협회 (American National Standard institute, ANSI)에서 제공한 보편적인 문법 -. 문법 형식만 다를 뿐, 속도에 대한 부분은 차이 없음 -. 종류 : Inner join on , left/right join on , full outer join on 이 있다   차이점Oracle 조인 조건ANSI SQL 조인 조건구별점From 절 From 테이블 (쉼표) 테이블From 테이블 (JOIN  조건) 테이블 (On / Using) 병합 조건◀From 절 쉼표 유무◀ From 절 Join 유무   2. Oracle Join vs Ansi Join 비교 정리  Oracle 조인 조건Ansi SQL 조인 조건카타시안.. 2024. 2. 7.
[SQL 입문] 15. 일반 JOIN 조건 [학습 목표]1. 일반 Join 조건 활용 ◀ Join 문구가 없음! Where 절에서 중복값 지정2. 카다시안 곱 문제 발생 조건3. 테이블 별칭 설정4. 중복값이 없을 경우 / 범위 검색을 이용한 조인 처리  1. 일반 Join 조건 Join은 여러 테이블의 데이터가 필요한 경우 사용일반적으로 PK - FK간 상호 연결Table 개수 - 1 = Join 조건 개수Where 절 조인 조건(길안내) 작성From A, B Where A.a = B.bWhere A.a = B.b and A.a > 12000 2. 카다시안 곱 (무작위 연결)   3. 테이블 별칭 지정From 절에서는 테이블 명 (한 칸 띄고)  테이블 별칭 順 From player p , team t그 외 모두 테이블 별칭 (쩜) 칼럼명 順 .. 2024. 2. 6.