나의 데이터 일지
close
프로필 사진

나의 데이터 일지

github: @denev6

  • 분류 전체보기 (143)
    • Microsoft (5)
    • Study (106)
      • Python (19)
      • SQL (37)
      • Databricks (1)
      • ML | DL (24)
      • R (8)
      • Etc (14)
    • 일상 (31)
      • 일기 (15)
      • 사진 (0)
      • 여행 (1)
      • 영화 (2)
      • 독서 (1)
  • 홈
  • 태그
  • 방명록
[SQL]계층형 질의문으로 서열을 주고 데이터 출력하기

[SQL]계층형 질의문으로 서열을 주고 데이터 출력하기

1. 계층 순서로 출력하기 계층형 질의문(Hierachical Query)를 사용해 데이터를 선택하여 계층 순서로 결과를 출력한다. 계층형 질의문에서 쓰이는 용어 용어 설명 노드(node) 표시된 항목 레벨(level) 트리(tree) 구조에서 각각의 계층 루트(root) 트리(tree) 구조에서 최상위에 있는 노드 부모(parent) 트리(tree) 구조에서 상위에 있는 노드 자식(child) 트리(tree) 구조에서 하위에 있는 노드 계층형 질의문 형식 예시 SELECT LEVEL, COL1, COL2, ... FROM TABLE_NAME START WITH ROOT_NODE CONNECT BY PRIOR PARENT_NODE = CHILD_NODE 계층형 질의문의 키워드인 CONNECT BY와 ST..

  • format_list_bulleted Study/SQL
  • · 2023. 1. 13.
[SQL] 서브쿼리를 사용해 데이터 입력, 수정, 삭제하기

[SQL] 서브쿼리를 사용해 데이터 입력, 수정, 삭제하기

1. 데이터 입력하기 INSERT () VALUES () 에서 VALUES절을 제외하고 서브쿼리를 사용하면 여러 개의 행을 한 번에 테이블에 입력할 수 있다. EX ) EMP 테이블의 구조를 그대로 복제한 EMP2테이블에 부서 번호가 10번인 사원들의 사원 번호, 이름, 월급, 부서 번호를 한번에 입력하라 -- EMP2 테이블 생성 (EMP 테이블 구조 복사) CREATE TABLE EMP2 AS SELECT * FROM EMP WHERE 1 = 2; INSERT INTO EMP2(EMPNO, ENAME, SAL, DEPTNO) SELECT EMPNO, ENAME, SAL, DEPTNO FROM EMP WHERE DEPTNO = 10; VALUES절에 VALUES 대신 입력하고자 하는 서브쿼리문을 기술한..

  • format_list_bulleted Study/SQL
  • · 2023. 1. 13.

[SQL]데이터 입력, 수정, 삭제 - INSERT, UPDATE, DELETE, TRUNCATE, DROP

1. 데이터 입력하기 - INSERT 테이블에 새로운 데이터를 입력할 때 INSERT문을 사용한다. INSERT INTO 테이블명 (col1, col2, col3, ...) VALUES (value1, value2, value3, ...) INSERT INTO 테이블명 (value1, value2, value3, ...) INSERT문을 사용할때 INSERT INTO 다음 테이블명을 입력하고, 괄호안에 데이터를 컬럼명 순서대로 기술한다. 만약 괄호를 쓰지 않으면 전체 컬럼에 모두 데이터를 입력해야 한다. 이때 숫자는 그대로 기술해도 되지만 문자와 날짜는 작은 따옴표로 감싸줘야한다. EX ) 사원 번호 2812, 사원 이름 JACK, 월급 3500, 입사일 2019년 6월 5일, 직업 ANALYST인 사원..

  • format_list_bulleted Study/SQL
  • · 2023. 1. 11.

[SQL] 서브 쿼리 사용하기 3 - HAVING절, FROM절, SELECT 절

5. HAVING절의 서브 쿼리 HAVING절은 그룹 함수로 검색된 데이터 간 비교할 때 사용한다. EX ) 직업과 직업별 토탈 월급을 출력하는데, 직업이 SALESMAN인 사원들의 토탈 월급보다 더 큰 값들만 출력하시오 직업이 SALESMAN인 사원이라는 조건이 있기 때문에 WHERE절을 사용해 작성할 수도 있다. SELECT JOB, SUM(SAL) FROM EMP WHERE SUM(SAL) > (SELECT SUM(SAL) FROM EMP WHERE JOB = 'SALESMAN') GROUP BY JOB; 하지만 그룹 함수로 검색조건을 작성했기 때문에 에러가 발생한다. 이 처럼 그룹 함수로 검색조건을 작성할 때는 HAVING절을 사용해야한다. SELECT JOB SUM(SAL) FROM EMP GR..

  • format_list_bulleted Study/SQL
  • · 2023. 1. 9.
[SQL] 서브 쿼리 사용하기 2 - NOT IN, EXISTS/NOT EXISTS

[SQL] 서브 쿼리 사용하기 2 - NOT IN, EXISTS/NOT EXISTS

3. NOT IN 특정 쿼리에서 검색한 데이터 중 다른 쿼리에 없는 데이터를 검색하려면 NOT IN 연산자를 사용한다. EX ) 관리자가 아닌 사원들의 이름과 월급, 직업을 출력하라. 관리자가 아닌 사원은 직속 부하 직원이 한 명도 없는 사원을 의미한다. 즉 사원번호(EMPNO)가 관리자 번호(MGR)와 같지 않은 사원을 찾으면 된다. 이 경우 또한 단일행 서브 쿼리의 연산자를 사용하면 에러가 발생한다. SELECT ENAME, SAL, JOB FROM EMP WHERE EMPNO != (SELECT MGR FROM EMP); ORA-01427: single-row subquery returns more than one row 따라서 이 경우에는 다중 행 서브 쿼리 중 NOT IN을 사용하여 문제를 해결..

  • format_list_bulleted Study/SQL
  • · 2023. 1. 9.
[SQL] 서브 쿼리 사용하기 1 - 단일 행, 다중 행

[SQL] 서브 쿼리 사용하기 1 - 단일 행, 다중 행

1. 단일행 서브쿼리 특정 쿼리에서 검색한 값을 다른 쿼리에서 받아 검색하려면 서브 쿼리를 사용해야 한다. EX ) JONES 보다 더 많은 월급을 받는 사원들의 이름과 월급을 출력하라 JONES 보다 더 많은 월급을 받는 사원의 정보를 조회하기 위해서는 JONES의 월급을 알아야 한다. -- JONES의 월급 SELECT SAL FROM EMP WHERE ENAME = 'JONES'; JONES의 월급을 검색한 결과, 2975임을 알 수 있다. 이를 바탕으로 위의 문제를 해결할 수 있다. -- JONES 보다 더 많은 월급을 받는 사원 SELECT ENAME, SAL FROM EMP WHERE SAL > 2975; 여기서 위의 쿼리에서 2975라는 값은 첫번째 검색했던 JONES의 월급을 검색하는 쿼리..

  • format_list_bulleted Study/SQL
  • · 2022. 1. 10.
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (143)
    • Microsoft (5)
    • Study (106)
      • Python (19)
      • SQL (37)
      • Databricks (1)
      • ML | DL (24)
      • R (8)
      • Etc (14)
    • 일상 (31)
      • 일기 (15)
      • 사진 (0)
      • 여행 (1)
      • 영화 (2)
      • 독서 (1)
인기 글
전체 방문자
오늘
어제
Copyright © truthyun 모든 권리 보유.
SKIN: Copyright © 쭈미로운 생활 All rights reserved. Designed by JJuum.
and Current skin "dev-roo" is modified by Jin.

티스토리툴바