일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 주피터노트북맷플롯립
- 주피터노트북판다스
- 파이썬
- Python
- 파이썬크롤링
- 파이썬알고리즘
- 판다스데이터분석
- 파이썬시각화
- SQL
- 데이터분석시각화
- 주피터노트북데이터분석
- 판다스그래프
- sql연습하기
- 파이썬수업
- 수업기록
- 파이썬차트
- matplotlib
- python수업
- 맷플롯립
- sql따라하기
- 파이썬데이터분석주피터노트북
- 주피터노트북그래프
- 주피터노트북
- python알고리즘
- 파이썬데이터분석
- python데이터분석
- 팀플기록
- sql연습
- SQL수업
- SQLSCOTT
- Today
- Total
목록sql연습하기 (12)
IT_developers

hr 실습은 hr 생성 후 작성 가능. 문제를 다 푼 다음에 답 보기. hr의 데이터가 많기 때문에 각각의 칼럼명을 알고 있어야 문제를 풀 수 있다. 문제1) 매니저가 없는 사원들의 last_name, job_id 조회 문제2) ST_CLERK인 JOB_ID를 가진 사원이 없는 부서 id 조회(단, 부서번호가 null인 값은 제외) 문제3) commision_pct가 널이 아닌 사원들 중에서 commission = salart*commion_pct를 구하여, employee_id, first_name, job_id와 함께 출력 문제4) first_name이 Curtis인 사람의 first_name, last_name, phone_number,job_id 조회. (단,job_id의 결과는 소문자로 출력) ..

※ 기존 테이블을 이용하여 테이블을 생성 실습 1) emp테이블의 내용을 이용하여 exam_emp 생성(내용까지) CREATE TABLE exam_emp AS SELECT * FROM emp; 실습 2) dept 테이블의 내용을 이용하여 exam_dept 생성 CREATE TABLE exam_dept AS SELECT * FROM dept; 실습 3) salgrade 테이블의 내용을 이용하여 exam_salgrade 생성 CREATE TABLE exam_salgrade AS SELECT * FROM salgrade; 실습 4) 정보를 exam_emp 테이블에 입력 INSERT INTO exam_emp ( empno, ename, job, mgr, hiredate, sal, comm, deptno ) VA..

서브 쿼리 : 쿼리문 안에 또 다른 쿼리문 존재 select 조회할 열 from 테이블명 where 조건식(select 조회할 열 from 테이블 명 where 조건식) 실행결과가 하나로 나오는 단일행 서브쿼리 사용 연산자(>, 2975; ▶ 위 두개의 구문을 합한 것 SELECT * FROM emp WHERE sal > ( SELECT sal FROM emp WHERE ename = 'JONES' ); 여러개로 문장으로 구성되어 있는 것들을 하나로 만들어서 결과값을 출력 2) ALLEN 사원의 추가 수당보다 많은 추가수당을 받는 사원 정보 SELECT * FROM emp WHERE comm > ( SELECT comm FROM emp WHERE ename = 'ALLEN' ); 3) 'WARD' 보다 ..

JOIN : 데이터가 여러 개의 테이블에 나뉘어 저장됨 내부조인(INNER JOIN) 자체조인(SELF JOIN) 외부조인(OUTER JOIN) LEFT OUTER JOIN RIGHET OUTER JOIN FULL OUTER JOIN 상호조인(CROSS JOIN) UNION/ UNION ALL/ NOT IN/ IN 내부조인과 외부조인 정확하게 구분하기 (1) 내부조인 등가조인, 단순조인으로 부르기도함 가장 많이 사용 되는 조인 방식 LEFT TABLE과 RIGHT TABLE이 일치하는 컬럼을 기준으로 값 가져오기 (2) 자체조인 : 자기 자신과 자기 자신이 조인하는 방식 (3) 외부조인 LEFT OUTER JOIN과 RIGHT OUTER JOIN의 차이점 구별하기 LEFT OUTER JOIN : 일치하지..

group by 결과값을 원하는 열로 묶어서 출력하고 싶을 때 사용 구문이 길어지면 순서가 중요해짐. 어떤 거 부터 실행이 되느냐 엑셀에서 부분합과 같음 group by ~ having : 그룹을 잡을 때 조건을 주는 경우 1) 부서별 평균 급여 출력 SELECT deptno, AVG(sal) -- ORA-00937: not a single-group group function FROM emp; ORA-00937: not a single-group group function ==> 오류 메세지 오류 해결) 부서별 평균 급여 출력 SELECT deptno, AVG(sal) FROM emp GROUP BY deptno; 2) 부서별, 직책별 급여 평균 출력 SELECT deptno, job, AVG(sal)..

다중행함수(여러개를 묶어서 한번에 해결) : SUM(), COUNT(), MAX(), MIN(), AVG() ※ SUM() : 합계 1) 추가수당 합계 : null은 카운트 되지 않음 SELECT SUM(comm) FROM emp; 2) 중복인 값은 제외하고 합계 구하기 SELECT SUM(DISTINCT sal), SUM(sal) FROM emp; ※ COUNT() : 숫자 세기 3) emp 테이블 사원 수 출력 SELECT COUNT(*) FROM emp; 전체적으로 구할 땐 * . * 대신 칼럼명 사용 가능 4) 부서번호가 30번인 사원 수 출력 SELECT COUNT(*) FROM emp WHERE deptno = 30; ※ MAX() : 최댓값, MIN() : 최솟값 5) 급여의 최대값 SELE..

NULL 처리 함수 : NVL(), NVL2() DCODE 함수 CASE문 1) comm이 null SELECT empno, ename, sal, comm, sal + comm FROM emp; 2) nvl(널값 열, 널인 경우 사용할 값) SELECT empno, ename, sal, nvl(comm, 0), sal + nvl(comm, 0) FROM emp; null 인 경우 0을 대입 3) nvl2(널값 열, 널이 아닐 경우 사용할 값, 널인 경우 사용할 값) SELECT empno, ename, sal, nvl2(comm, 'O', 'X'), sal + nvl2(comm, sal * 12 + comm, sal * 12) FROM emp; ※ decode ( 대상이 될 열 혹은 데이터, 조건1, 조..

숫자함수 : ROUND(), TRUNC(), CEIL(), FLOOR(), MOD() 날짜함수 : SYSDATE, CURRENT_DATE, CURRENT_TIMESTAMP 1) round() : 반올림 SELECT round(1234.5678) AS round, round(1234.5678, 0) AS round1, round(1234.5678, 1) AS round2, round(1234.5678, 2) AS round3, round(1234.5678, - 1) AS round4, round(1234.5678, - 2) AS round5 FROM dual; 자리를 지정하지 않으면 기본 값으로 출력. 기본값은 0 2) trunc() : 버림 SELECT trunc(1234.5678) AS trunc, t..