일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- SQL
- matplotlib
- pandas
- Numpy
- 데이터 분석
- 실기
- 카카오
- Oracel
- Kaggle
- 알고리즘
- 튜닝
- 파이썬
- sklearn
- Python
- level 1
- 코딩테스트
- 실습
- R
- 머신러닝
- 오라클
- 빅분기
- 프로그래머스
- python3
- 빅데이터 분석 기사
- seaborn
- level 2
- oracle
- Today
- Total
목록분류 전체보기 (324)
라일락 꽃이 피는 날
예제 1. 부서 테이블에서 부서 번호, 부서명, 부서 위치를 출력하는데, 사원 테이블에 존재하는 부서 번호에 대한 것만 출력 -- 1. exists 문을 사용하지 않고 수행 select * from dept where deptno in (select deptno from emp); 서브 쿼리를 수행했을 때, 부서 번호 14개가 메인 쿼리로 리턴된다. 부서 번호의 종류가 3가지밖에 없지만 emp 테이블이 1억 건이라면, 위의 SQL 은 수행 시간이 불필요하게 오래 걸릴 것이다. -- 2. exists 문은 사용해서 수행 select * from dept d where exists (select 'X' from emp e where e.deptno = d.deptno); in 이 아니라 위와 같이 exist..
다중 컬럼 서브 쿼리의 문법 non pair wise 방식 pair wise 방식 non pair wise 방식보다는 pair wise 방식이 코딩이 더 짧아서 더 선호되는 SQL로 보이나 주의해야 할 사항은 pair wise 방식과 non pair wise 방식이 출력 되는 결과가 서로 다르다. 결론을 먼저 얘기하면 non pair wise 방식이 훨씬 결과가 더 많이 나온다. oracle 의 경우 pair wise 방식과 non pair wise 방식 둘 다 지원된다. 그러나 ms 사에서 만든 데이터베이스 소프트웨어인 mssql 은 non pair wise 만 지원된다. 예제 1. 부서 번호가 30번인 사원들과 월급이 같고 커미션이 같은 사원들의 이름, 월급, 커미션, 부서 번호를 출력 -- 1. n..
서브 쿼리의 종류 단일행 서브쿼리 (single row subquery) : 서브 쿼리에서 메인 쿼리로 하나의 값이 리턴되는 경우 사용할 수 있는 연산자: =, !=, ^=, 〉, 〈, 〉=, 〈= 다중행 서브쿼리 (multiple row subquery) : 서브 쿼리에서 메인 쿼리로 여러 개의 값이 리턴되는 경우 사용할 수 있는 연산자: in, not in, >all, any, (select sal from emp where ename = 'JONES'); 괄호 안에 해당하는 부분이 서브 쿼리이고, 나머지 부분은 전부 메인 쿼리다. 예제 2. 직업이 SALESMAN 인 사원들과 같은 월급을 받는 사원들의 이름과 월급을 출력 select ename, sal from emp where sal = (sel..
서로 다른 테이블의 데이터를 양 옆으로 연결해서 출력하는 것은? 조인 (join) 서로 다른 테이블의 데이터를 위아래로 연결해서 출력하는 것은? 집합 연산자 집합 연산자 union all → 합집합 union → 합집합 (중복된 데이터를 제거) intersect → 교집합 minus → 차집합 집합 연산자 사용시 주의사항 집합 연산자 위쪽에 있는 쿼리문의 컬럼의 개수와 아래쪽에 있는 컬럼의 개수가 서로 동일해야 한다. (컬럼명도 가급적 동일하게 맞춰줍니다.) 집합 연산자 위아래 쿼리문의 컬럼들의 데이터 유형도 서로 같아야 한다. 집합 연산자 사용 시 order by 절은 맨 아래쪽의 쿼리문에만 사용 가능하다. 예제 1. 부서 번호와 부서 번호 별 토탈 월급을 출력한 것과 토탈 월급만 출력한 것을 연결해서..
1999 ANSI 조인 문법 (America National Standard Institute 미국 독립 표준 협회) on 절을 사용한 조인 using 절을 사용한 조인 natural 조인 left/right/full outer 조인 cross 조인 하둡, 스파크에서 수행하는 SQL들은 ANSI 문법으로 조인 문법을 작성해야 에러가 안 나고 수행되는 경우가 많다. 예제 1. DALLAS 에서 근무하는 사원들의 이름과 부서 위치를 출력 select e.ename, d.loc from emp e join dept d on (e.deptno = d.deptno) where d.loc = 'DALLAS'; 예제 2. 사원 이름, 월급, 부서 위치, 급여 등급(grade)을 출력 select e.ename, e...
1. 테이블에 대한 정의서 출력 - 테이블명은 반드시 대문자로 작성 select * from dba_tab_comments where table_name = '테이블명'; 2. 컬럼에 대한 정의서 출력 select * from dba_col_comments where table_name = '컬럼명'; 3. 테이블 정의서 생성 comment on table 테이블명 is '테이블 설명'; 4. 컬럼 정의서 생성 comment on column 테이블명.컬럼명 is '컬럼 설명';
오라클 조인 문법 equi join : 조인하려는 두 테이블 사이에 공통된 컬럼이 있어서 조인 조건을 이퀄 조건(=) 으로 두 테이블을 연결할 수 있는 조인 문법 non equi join : 조인하려는 두 테이블 사이에 공통된 컬럼이 없어서 조인 조건을 이퀄 조건(=) 으로는 두 테이블을 연결할 수 없을 때 사용하는 조인 문법 outer join : 조인하려는 두 테이블 사이에 연결 고리가 되는 컬럼의 데이터가 서로 일치하지 않아서 조인이 안 되는 데이터도 보려고 할 때 사용하는 조인 문법 self join : 자기 자신의 테이블과 조인하는 조인 문법 조인 (join) 이 필요한 이유? 하나의 테이블로는 알 수 없는 정보를 다른 테이블과 조인함으로써 알 수 있게 하려 할 때 사용한다. 왜 self 조인을..
출력되는 행을 제한하는 함수 rownum : 결과로 출력되는 행에 번호 부여 order by 컬럼명 asc/desc fetch first 숫자 rows only : 상위 몇 개의 데이터만 출력 order by 컬럼명 asc/desc fetch first 숫자 perent rows only : 상위 몇 개의 데이터만 출력 예제 1. 월급이 1000 에서 3000 사이인 사원들의 사원 번호, 이름, 월급을 출력하는데, 맨 위에 3개의 행만 출력 select empno, ename, sal from emp where sal between 1000 and 3000 and rownum