처음부터 시작하는 Java
  • sql cmd4
    2021년 04월 15일 16시 16분 59초에 업로드 된 글입니다.
    작성자: 원2
    728x90
    반응형

    JOIN ~ ON
    왼쪽 외부조인 LEFTOUTER JOIN ~ ON
    오른쪽 외부 조인 RIGHT OUTER JOIN ~ ON
    FULL OUTER JOIN ~ ON
    사원 이름이 JONES인 사원의 급여 출력
    급여가 2975보다 높은 사원의 정보 출력.
    SUB쿼리문 : WHERE 절 안에 넣는다.
    SUB 쿼리를 이용하여 HIREDATE가 'ALLEN' 보다 낮은 사원(입사일이 빠른)의 정보를 출력
    사원들 중 급여가 평균보다 높은 사원의 정보를 출력 AVG()는 평균
    ANY 연산자는 서브쿼리의 결과가 메인쿼리에 조건식에 하나라도 맞으면 TRUE 를 출력한다. 따라서 MAX의 값을 내는 효과를 가지고 있다
    ALL 연산자는 메인 쿼리의 결과와 모두 만족해야 TRUE 가 나오기 때문에 MIN 의 결과 값이 나오는 효과를 가지고 있다.
    EXISTS 연산자는 서브쿼리에 결과 값이 하나이상 존재하면 모두 출력, 하나라도 없으면 FALSE가 출력되는 (아무것도 출력안됨) // 어떠한 정보의 유무를 판단하기 위해서 사용된다.
    다중열 서브쿼리 WHERE 절 안에 DEPTNO, SAL // DEPTNO, MAX(SAL) 의 위치를 맞춰 줘야한다.
    FROM 절에 사용하는 서브쿼리 // 인라인 뷰
    WITH절
    SELECT절에 사용하는 서브쿼리
    TABLE 생성 // 확인 // 삭제 DROP
    INSERT INTO / VALUES로 데이터 추가 // 테이블의 순서대로 입력하면 위에 DEPTNO처럼 값을 지정하지 않아도 입력을 할 수 있다.
    INSERT INTO 로 NULL값 넣기 NULL 대신 ''를 넣어도 된다.
     EMP 테이블만을 복사해서(내용은 복사 안함) EMP_TEMP 만들기.  // NO ROWS 나오는 이유 : 테이블만 복사 해와서.
    위의 결과의 테이블 정보를 확인.
    INSERT INTO 로 날짜 데이터 입력하기 / 대신에 - 도 가능
    SYSDATE를 입력하면 현재날짜가 자동으로 입력된다.
    3개의 테이블이 돌기 때문에 E.DEPTNO = D.DEPTNO를 접점으로 잡고, E.SAL 은 BETWEEN S.LOSAL AND S. HISAL 사이로 잡아주고, 나머지 서브쿼리 연산, CODE 3번은 EMP 와 DEPT를 묶은것이고 CODE 4번은 EMP 와 SALGRADE를 묶은것.
    직책이 SALESMAN이고, 최고 급여보다 높은 급여를 받는 사원정보 출력
    전체 사원 중 ALLEN과 같은 직책인 사원들의 정보를 출력. 'SALESMAN'이라는걸 몰랐을 때.
    트랜잭션을 제어하는 명령어 TCL :

    트랜잭션 : 한번에 실해이 불간으하면 실행하기 전의 상태를 유지할 수있는 상태, 트랜잭션이 완전히 실행되지 못하면 원래상태로 복구시킨다. 트랜잭션은 무조건 두개의 상황만 있다.

    한 번에 수행하여 작업을 완료하거나, 아예 모두 수행하지 않는상태.

    ex) 은행 어플을 접속한 순간부터 어플의 송금,출금,입금(TCL)을 할때 까지 실행, 유지 되고있고 송금,출금,입금 후(트랜잭션 종료)에는 새로운 트랜잭션이 실행된다.

    TCL의 ROLLBACK

    COMMIT : 트랜잭션을 영원히 반영하고 싶을 때. => 낙장불입 되돌릴 수 없다.

     

    읽기의 일관성, 아래에서는 삭제했지만 커밋을 하지 않아서 위에 CMD에는 계속 50번이 뜬다. 확정된거만 보여주고 실행을 할 수 있다.

    728x90
    반응형

    'DB > Mysql' 카테고리의 다른 글

    [Mysql] 난수 생성  (0) 2021.08.15
    Mysql 관계도 생성  (0) 2021.08.09
    sql cmd5  (0) 2021.04.16
    sql cmd3  (0) 2021.04.14
    sql 비번 까먹었을 때  (0) 2021.04.13
    sql cmd2  (0) 2021.04.13
    댓글