본문 바로가기

Storage

(167)
TIL 2022년 9월 10일 # 긍정의 한줄 "세상을 더 넓게 보라" Our loyalties must transcend our race, our tribe, our class, and our nation: and this means we must develop a world perspective. 우리의 충성심은 인종, 부족, 계급, 국가를 초월해야 한다. 우리는 세계를 보는 시각을 길러야만 한다. '나는 내 혈통, 내가 믿는 종교, 내 나라를 자랑스럽게 생각해. 하지만 나는 좀 더 크고 넓은 세상의 일부이기도 해.' [린다 피콘, 365매일 읽는 긍정의 한줄(책이있는풍경, 2012), September Day10] # Today I Learned. # 오라클 소캠 강의 28/42 21강 Outer Join 22강 sub Quer..
20강 오라클 SQL Self Join 20강 오라클 SQL Self Join -- 조인은 두 개 이상의 서로 다른 테이블을 서로 연결하는 것뿐만 -- 아니라, 하나의 테이블 내에서 조인을 해야만 원하는 자료를 얻는 경우가 생깁니다. -- Self Join이란 말 그대로 자기 자신과 조인을 맺는 것을 말합니다. -- 별칭 필수 emp e1, emp e2!! select e1.ename, e2.sal from emp e1, emp e2 where e1.empno = e2.empno; -- SMITH의 매니저 이름이 무엇인지 알아내려면 어떻게 구해야 할까요? select e1.ename, e2.ename 매니저님 from emp e1, emp e2 where e1.mgr = e2.empno and e1.ename = 'SMITH'; -- e1 테..
19강 오라클 SQL JOIN DATA -- 조인의 필요성, Cross Join, Equi Join, Non-EquiJoin -- 특정 부서 번호에 대한 부서이름이 무엇인지는 부서(DEPT)테이블에 있다. -- 특정 사원에 대한 부서명을 알아내기 위해서는 부서 테이블에서 정보를 얻어와야 한다. select ename, deptno from emp; -- 10번 20번 30번의 부서명을 알기 위해 dept를 조회해야 한다. select deptno, dname from dept; -- Cross Join select * from emp, dept; -- 사원 한 명에 대해서 DEPT 테이블 4개의 로우와 결합된 형태이기에 -- Cross Join의 결과는 아무런 의미를 갖지 못합니다. -- Equi Join -- 가장 많이 사용하는 조인 방법으..
18강 오라클 SQL HAVING 절 -- select 절에 조건을 사용하여 결과를 제한할 때는 WHERE 절을 사용하지만 -- 그룹의 결과를 제한할 때는 HAVING 절을 사용합니다. -- 부서별로 그룹지운 후(GROUP BY), 그룹 지어진 부서별 평균 급여가 2000 이상인(HAVING) -- 부서번호와 부서별 평균 급여를 출력하는 경우 입니다. -- 그룹 지어진 항목에 조건을 사용할 땐 having을 사용해야 한다. where 사용하면 에러발생. -- select deptno, avg(sal) from emp group by deptno where avg(sal)>=2000; select deptno, avg(sal) from emp group by deptno having avg(sal)>=2000; -- 부서의 최대값과 최소값을 ..
17강 오라클 SQL GROUP BY 절 -- 어떤 컬럼 값을 기준으로 그룹함수를 적용할 경우 GROUP BY 절 뒤에 해당 컬럼을 기술한다. -- select 컬럼명, 그룹함수 FROM 테이블명 WHERE 조건(연산자) GROUP BY 컬럼명; -- GROUP BY 절 다음에는 컬럼의 별칭을 사용할 수 없다. -- 사원 테이블을 부서 번호로 그룹지어 봅시다. select deptno from emp group by deptno; -- 소속 부서별 평균 급여 구하는 예제입니다. select deptno, avg(sal) from emp group by deptno; -- 단일 그룹의 그룹 함수가 아닙니다. select deptno, avg(sal) from emp; -- 단일 값 -- 여러개의 행 그래서 안되는거임. -- 그래서 DEPTNO 그..
16강 오라클 SQL 그룹 함수 집계 데이터 -- 그룹 함수는 하나 이상의 행을 그룹으로 묶어 연산하여 총합, 평균 등 하나의 결과로 나타납니다. -- 1.1 SUM 함수는 해당 칼럼 값들의 대한 총합을 구하는 함수 -- 다음은 급여 총액 구하는 예제입니다. select sal from emp; select sum(sal) from emp; -- 다음은 커미션 총액 구하는 예제입니다. select comm from emp; -- 커미션 컬럼에 NULL값인 사원이 존재하는데, NULL은 블랙 홀이므로 NULL을 저장한 컬럼과 연산한 결과도 NULL 이라고 한다. -- 커미션 총합을 구해도 NULL 값으로 출력되지 않는다. 그룹 함수는 다른 연산자와는 달리 해당 칼럼 값이 NULL인 것을 제외하고 계산하기 때문이다. select sum(comm) fr..
15강 오라클 SQL 조건식 -- 07. 선택을 위한 DECODE 함수 -- 프로그램 언어에서 가장 많이 사용되는 switch case문과 같은 기능을 갖습니다. -- 부서번호에 해당되는 부서명을 구하는 예제를 CASE 함수를 사용하여 작성. select ename, deptno, decode (deptno, 10, 'accounting', 20, 'reserarch', 30, 'sales',40, 'operations') as dname -- 이것에 대한 이름은 dname이다. from emp; --8. 직급에 따라 급여를 인상하도록 하자. 직급이 'ANAIYST'인 사원은 5%, --'SALEAMAN'인 사원은 10%, 'MANAGER'인 사원은 15%, 'CLERK'인 사원 --은 20%를 인상한다. select ename, ..
14강 오라클 SQL 데이터 함수의 적용 14강 오라클 SQL 데이터함수의 적용(문제풀기.) -- 1. 모든 교수의 수와 봉급의 합을 구하여라. -- 2. 수강 테이블에서 'B107'을 수강한 학생의 점수의 최대값과 최소값을 구하여라. -- 3. 다음을 실행하고 그 의미를 설명하여라. -- ABS(-32) -- CEIL(-4.2) -- FLOOR(-4.2) -- MOD(8,3) -- POWER(2,10) -- SQRT(9) -- 4. 학생 테이블에서 이름과 생일을 "김진우 1979년 9월 19일 수요일" 형태로 조회 하여라. -- 5. 교수 테이블에서 교수명과 봉급을 조회하되, "김현석 (원)02,800,000" 형태로 조회 하여라. -- 6. 다음 sql 문의 결과를 조회하고 각 함수의 의미를 설명하여라. -- select 'abc123ABC..