Oracle 공부(51)
-
Day36 - 행추가.INSERT , 테이블 복사.CTAS , 복구.ROLLBACK
이번에는 INSERT 에 대해서 알아 봅시다. 그 전에, 잠깐 테이블의 구조를 확인하는 방법을 알아보고 갑시다. DESC 테이블명 이렇게, 해당 테이블에 속성(column)들과 널(공백)을 포함할 것인지 여부. 그리고 값의 유형은 어떤식으로 할 것인지 확인 할 수 있습니다. NUMBER는 숫자를 의미 하며 소괄호에 있는 숫자는 자리수를 의미합니다. (4자리) VARCHAR2는 가변성문자를 의미 하며, 소괄호에 있는 숫자는 BYTE를 의미합니다. INSERT insert 는 테이블에 행을 추가하는 기능 입니다. - INSERT INTO 테이블명(속성) VALUES(값) INSERT INTO 를 사용할 때, 테이블의 속성을 넣어주면 되는데, 테이블의 속성을 전부 넣어줄 필요는 없습니다. 만약, 테이블의 속성..
2021.04.06 -
Day35 - Quiz를 풀어 봅시다
문제 1. -EMPLOYEES 테이블에서 모든 사원들의 평균급여보다 높은 사원들을 데이터를 출력 하세요 ( AVG(컬럼) 사용) -EMPLOYEES 테이블에서 모든 사원들의 평균급여보다 높은 사원들의 수를 출력하세요 -EMPLOYEES 테이블에서 job_id가 IT_PFOG인 사원들의 평균급여보다 높은 사원들을 데이터를 출력하세요 문제 2. -DEPARTMENTS테이블에서 manager_id가 100인 사람의 department_id와 EMPLOYEES테이블에서 department_id가 일치하는 모든 사원의 정보를 검색하세요. 문제 3. -EMPLOYEES테이블에서 “Pat”의 manager_id보다 높은 manager_id를 갖는 모든 사원의 데이터를 출력하세요 -EMPLOYEES테이블에서 “Jame..
2021.04.05 -
Day35 - 인라인 뷰
이번에는 인라인 뷰에 대해서 알아 봅시다 인라인 뷰 인라인 뷰도 서브쿼리의 한 종류 입니다. 인라인 뷰는 FROM 옆에 위치 합니다. ( 테이블 이름 대신 ) 인라인 뷰는 가상의 테이블 이라고 생각하면 됩니다. 인라인 뷰 에서 조회되는 속성(column)들이 테이블(엔티티) 대신해서 들어간다고 생각하면 되겠습니다. 위의 기본 형태를 아래의 인라인 뷰의 형태로 바꿈 - rownum ( 행 번호 ) 가 섞이는 문제 정렬과 rownum 을 같이 사용하면, rownum의 번호가 뒤죽박죽이 됩니다. 이 문제를, 인라인 뷰를 사용해서 해결 할 수 있는데요, 인라인 뷰의 내부에서 정렬을 한 후, 바깥 쪽에서 rownum을 사용해주면 됩니다. - 행을 제한해서 조회하기. rownum을 사용해서 행을 줄여서 조회할 수 ..
2021.04.05 -
Day35 - 스칼라 서브쿼리
이번에는 스칼라 서브쿼리에 대해서 알아 봅시다. 스칼라 서브쿼리 저번 시간에 알아 보았던, "단일 행 서브쿼리 / 다중 행 서브쿼리" 는 WHERE 옆에 위치 했었죠? 스칼라 서브쿼리는 SELECT 옆에 위치 합니다. 스칼라 서브쿼리는 LEFT OUTER JOIN 과 결과값이 똑같습니다. 하지만, JOIN 하는 것보다 성능이 우수합니다. 그 이유는, JOIN은 테이블을 전부 읽어서 데이터를 가져오지만, 스칼라 서브쿼리는 테이블의 필요한 부분만 읽어서 데이터를 가져오기 때문입니다. 그러면, 어떻게 사용하는지 한 번 알아 봅시다. ※스칼라 쿼리를 사용할 경우에 *를 사용한다면, 어떤 테이블의 정보인지를 명시해 주셔야 합니다. 스칼라 서브쿼리 뿐 아니라, 서브쿼리를 사용할 때는 () 안에 사용해 주셔야 합니다..
2021.04.05 -
Day34 - Quiz를 풀어 봅시다
문제 1. -EMPLOYEES 테이블과, DEPARTMENTS 테이블은 DEPARTMENT_ID로 연결되어 있습니다. -EMPLOYEES, DEPARTMENTS 테이블을 엘리어스를 이용해서 각각 INNER , LEFT OUTER, RIGHT OUTER, FULL OUTER 조인 하세요. (달라지는 행의 개수 확인) 문제 2. -EMPLOYEES, DEPARTMENTS 테이블을 INNER JOIN하세요 조건)employee_id가 200인 사람의 이름, department_id를 출력하세요 조건)이름 컬럼은 first_name과 last_name을 합쳐서 출력합니다 문제 3. -EMPLOYEES, JOBS테이블을 INNER JOIN하세요 조건) 모든 사원의 이름과 직무아이디, 직무 타이틀을 출력하고, 이름..
2021.04.02 -
Day34 - 서브쿼리. 단일 행 서브쿼리. 다중 행 서브쿼리
이번에는 서브쿼리에 대해서 알아 봅시다. 서브쿼리 낸시보다 급여 많이 받는 사람? 저희는 낸시가 급여를 12008 라는 것을 알고 있습니다. 그렇기 때문에 아래와 같이 작성할 수 있겠죠? 그런데, 낸시의 급여가 12008 이라는 것을 모른다면? 이럴 경우를 위해서, 서브쿼리가 존재하는데요, 1. ( ) 안에 반드시 작성함. 2. 서브쿼리 절의 결과는 반드시 1열 이어야 합니다. 4. (서브쿼리절을 먼저 해석하면 됩니다) 단일 행 서브쿼리 단일 행 서브쿼리는, 결과 값의 행이 1개인 것을 뜻 합니다. 조건 절 오른쪽에 위치합니다. - 낸시의 급여보다 월급을 많이 받는 사원. - 직원 아이디가 103번 직원과 같은 job을 가진 직원 다중 행 서브쿼리 다중 행 서브쿼리는, 결과 값의 행이 여러개 인 것을 뜻..
2021.04.02