본문 바로가기

전체 글

(53)
20. 테이블 구조 생성, 변경, 제거 : DDL (2) 1. with문- 쿼리 내 임시테이블을 만드는 문법(해당 쿼리에서만 유효, 실제 저장되지는 X) - 가독성을 높이기 위해 사용 - select 문에서 주로 사용(dml에서도 사용 가능) ** 문법 with 임시테이블명(컬럼1, 컬럼2, ...) as select ....;      -- 저장하고자 하는 데이터 형태 정의 sql 문장...         -- 임시테이블을 사용하여 처리할 sql문 전달 예제) with std_test(name, grade, height) as (select name, grade, height   from student  where grade =4)     select * from std_test; ;  예제) student; exam_01을 조인하여 학번, 이름, 학년, 시..
19. 테이블 구조 생성, 변경, 제거 : DDL (1) [ SQL 종류 ] 1. DDL(Data Definition language) - 자동확정(auto commit) 1) CREATE : 객체(테이블) 생성 2) DROP : 객체(테이블) 삭제(구조를 삭제 -> 아예 없어짐) 3) ALTER : 객체(테이블) 변경(컬럼추가/컬럼삭제/데이터타입변경/사이즈변경,...) 4) TRUNCATE : 구조는 남기고 전체 데이터를 삭제(자동 저장됨, rollback 불가) 2. DML(Data Manipulation language) - rollback 또는 commit을 사용하여 명령어 수행 완료 처리 필수! 1) INSERT : 한 행씩 입력 2) DELETE : 한 행씩 삭제 3) UPDATE : 셀 단위로 데이터 변경 4) MERGE : 특정 테이블을 참고하여..
18. 서브쿼리(2) 1. 인라인 뷰 - from절 사용 서브쿼리 - 하나의 테이블처럼 사용 예제) emp에서 최소 급여자 출력 sol)select *   from emp e, (select deptno, min(sal) as min_sal                  from emp                 group by deptno) i  where e.deptno = i.deptno    and e.sal = i.min_sal;   예제) PROFESSOR 에서 학과별 평균급여보다 낮은 급여를 받는 교수의 이름, 학과명, 급여를      각 교수의 소속 학과의 평균급여와 함께 출력 sol)select deptno, avg(pay) as avg_pay    from professor  group by deptno;..
17. 서브쿼리(1) 1. 서브쿼리의 정의와 종류1). 정의 : 쿼리(메인쿼리) 안에 있는 쿼리(서브쿼리) 2). 종류 (1) 위치에 따라(실무적 의미)    select col1, (select ... from ...)  -- 스칼라 서브쿼리(하나의 컬럼처럼 출력을 원할 때 사용)      from tab1, (select ... from ...)  -- 인라인뷰(하나의 테이블처럼 사용하고 싶을 때 사용)     where col1 = (select ... from ...) -- (일반) 서브쿼리(상수를 대체하는 표현을 하고 싶을 때 사용)      (2) 문법에 따라(개념적 의미) - 단일행 서브쿼리 - 다중행 서브쿼리 - 다중컬럼 서브쿼리 - (상호)연관 서브쿼리    2. 단일행 서브쿼리- 서브쿼리 결과가 단 하나의 ..
16.조인(2)(natural,equi,outer,self) [ 조인 ]  분리된 두 테이블의 데이터를 동시에 한 쿼리로 출력하거나, 다른 테이블 데이터를 참조하는 조건이 필요할 경우 사용  oracle 표준과 ansi 표준 존재  oracle 표준은 조인에 필요한 테이블을 from절에 컴마로 나열         조인조건은 일반조건과 마찬가지로 where절에 나열  ansi 표준은 조인에 필요한 테이블과 조인 형태를 from절 기술(컴마 전달 불가)         조인조건은 일반조건과 분리되어 on/using절에 나열 ** 조인 시 주의사항  - 테이블 별칭 정의는 from절에 as 없이 사용  - 테이블 별칭이 정의된 경우 컬럼 앞의 컬럼 구분자로 테이블명 전달 불가 select emp.deptno   from emp e, dept d;   -- 에러    se..
15. 조인(1)( cross join, inner join) [ 조인 ]  분리된 두 테이블의 데이터를 동시에 한 쿼리로 출력하거나, 다른 테이블 데이터를 참조하는 조건이 필요할 경우 사용  oracle 표준과 ansi 표준 존재  oracle 표준은 조인에 필요한 테이블을 from 절에 컴마로 나열         조인조건은 일반조건과 마찬가지로 where절에 나열  ansi 표준은 조인에 필요한 테이블을 조인 형태를 from절에 기술(컴마 전달 불가)         조인조건은 일반조건과 분리되어 on/using절에 나열  select *  from emp, dept ;         --cross join // 발생가능한 모든 경우가 출력됨. 나올 수 있는 모든 경우가 다 나타남. 실무에서 사용되지 않는다. select e.empno, e.ename, e.sal..
14. 집합 연산자 [ 집합 연산자 ]  합집합, 교집합, 차집합의 리턴을 도와주는 표현식  집합 : select문 결과 1. 합집합 : union / union all (모든 언어는 중복제거에 정렬을 동반한다) 1) union : 중복된 값을 한번만 출력(정렬 동반) 2) union all : 중복된 값 모두 출력    **union과 union all 결과가 같다면(교집합이 없을 경우) union all 을 쓰는 것이 성능상 유리 (불필요한 정렬을 피할 수 있으므로) create table emp_test1          --줄여서 CTAS : 테이블 복제/백업 as  select * from emp where deptno in (10,20); 예제) emp와 emp_test1 테이블 데이터의 합집합 출력 insert..
13. 외부 데이터 적재 [ 외부 데이터(csv,txt 등) 적재 ] 방법) 1. oracle sqlldr 툴(명령어) 사용 2. orange 개발툴 사용 절차) step1) table 생성 create table movie( 년         number, 월         number, 일         number, 지역시도    varchar2(20), 지역시군구   varchar2(20), 지역읍면동   varchar2(20), 성별       varchar2(20), 연령대      varchar2(20), 이용비율    number ); select* from movie; step2) orange 적재 Tools > Load Tool > Log on (테이블 소유자로 접속)       > target 탭의 table..