일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ansi표준
- 오라클
- Python
- 텔레
- 논리연산자
- Decode
- group by
- case문
- 존써
- 서브쿼리
- SQL
- 펜더
- Asato
- 메이플
- MateusAsato
- 스트라토캐스터
- 오더
- Prs
- 파이썬
- 로스티드메이플
- oracle
- to_date
- 리스트
- 로즈우드
- 메서드
- 조인
- 커스텀
- Suhr
- 쏜버커
- 적용함수
- Today
- Total
목록SQL (8)
Big Bro's Studying Archive

오늘은 다중 컬럼 서브쿼리 중 중첩서브쿼리(Nested subquery)와 인라인 뷰를 활용한 서브쿼리를 알아보고자한다 아래의 예제를 통해 확인해보자 예제 emp 테이블에서 부서별 최대 연봉자의 정보출력 step 1 부서별 최대연봉 출력 select deptno, max(sal) from EMP group by deptno; step 2 위 정보 확인 후 그에 맞는 데이터 값을 조건으로 색인하기 select * from EMP where deptno = 30 and sal = 2850; 이 과정을 하나로 단축 시켜주는 것이 다중컬럼 서브쿼리이다. 서브쿼리의 결과가 여러 컬럼의 데이터를 출력해주는 서브쿼리를 다중컬럼 서브쿼리라고 하는데 위의 경우에는 아래와 같이 두 컬럼의 결과를 모두 활용할 수 있다. s..

EMP 테이블에서 이름이 'A'로 시작하는 사원이 있는 부서원의 정보를 출력하는 서브쿼리는 다음과 같다. select * from EMP where deptno in (select deptno from EMP where ename like 'A%'); 우선 where 절에 쓰인 서브쿼리인 아래 쿼리의 결과를 출력하면 다음과 같다. select deptno from EMP where ename like 'A%'; ENAME에 'A'로 시작하는 사원은 ADAMS와 ALLEN이고 이들의 부서 번호가 출력된다. 여기서 부서번호가 한 가지가 아니기 때문에 where절의 조건으로 두 가지 조건이 걸리게 된다. 이 경우 or의 기능을 수행하는 in 연산자를 통해 색인을 해주고 쿼리를 실행해주면 다음과 같은 결과가 출..

Author : Yoon Baek outer join 조인 조건을 만족하지 않는 대상까지 추출 기준이 되는 테이블 위치에 따라 left outer join, right outer join, full outer join으로 구분 예제) Student, professor 테이블을 사용하여 각 학생의 이름, 학년, 지도교수명 출력 (단 지도 교수가 없는 학생의 정보는 생략) select s.name, s.grade, p.name from student s left join professor P on s.profno = p.PROFNO; --ansi 표준select s.name, s.grade, p.name from student s, professor P where s.profno = p.profno(+); ..

group by와 join을 들어가며... 가장 중요한 것은 원하는 데이터를 어떻게 뽑을 지 미리 그려보는 것이다. 그렇지 않으면 엉뚱한 데이터를 불러오거나 원하는 데이터가 아니어서 쓸모 없게 된다. 특히 join은 여러 테이블을 합쳐 원하는 결과를 출력하는 것이기 때문에 어느 테이블에서 어떤 데이터가 어떻게 필요한지 꼭 생각해보고 접근해 보는 것이 좋다. 아래 쿼리들을 정독해보고 어떤 마인드로 데이터를 불러오는 구나 파악하며 공부해보자 group by 사용 시 주의 1. where절에 그룹함수 사용 불가 select deptno, avg(sal) from EMP where avg(sal) > 2500 -- 그룹 바이보다 먼저 오면 원하는 avg는 group by 연산 전에 수행되므로 허가되지 않는다. ..

어떤 마음가짐으로 공부할지 decode와 case문의 특성 이해 상황에 따라 좀 더 적합한 문법 활용 가능하도록 그룹함수는 그룹별로 출력되는 결과값이니 그룹별로 분류되지 않는 데이터를 선택할 때 주의 조건문 이어서 1. decode함수 decode(대상, 조건1, 치환1, else값) deptno가 10인 직원중 job이 clerk인 직원은 A부서로 나머지 직원은 B부서로 20인 직원은 C부서로 30인 직원은 D 부서로 이동 select deptno, ename, decode(deptno, 10, decode(job, 'CLERK', 'A', 'B'), 20, 'C', 30, 'D') from emp; 2. case 문 예제_ deptno가 10이면 A, 20이면 B, 30이면 C로 치환&응용 selec..
날짜함수 이어서 4. next_day함수 바로 다음의 요일 날짜를 알려주는 함수 1 : 일요일, 2: 월요일 ... 7 : 토요일 select next_day(sysdate, 4) from dual; -- 다음주 수요일인 2020-04-08 출력 5. last_day(날짜) : 해당 날짜가 속한 '월'의 마지막 날짜 select last_day(sysdate) from dual; --2020-04-30 출력 6. round(날짜, 단위) : 시간 단위 반올림 7. trunc(날짜, 단위) : 시간 단위 버림 select sysdate, round(sysdate), --일단위 round(sysdate, 'month'), --월단위 trunc(sysdate, 'month&..
지난시간 복습 연결 연산자 문제 2: 교수 테이블(professor)을 사용하여 교수의 이름과 직급이 아래와 같이 홍길동 (교수) , 홍길동 ‘교수’ 이렇게 나오도록 출력해보세요. 출력된 컬럼 이름 은 교수님 입니다. select name || ' (' || position || ')', name || ' ''' || position || '''', from professor WHERE 절 문제 3 : EMP 테이블에서 1982년 1월 1일 이후에 입사한 사원의 사원번호, 성명, 업무, 급여, 입사일자(hiredate), 부서번호를 출력하여라 select empno, ename, job, sal, hiredate, de..
1. 데이터의 조회방법 select문을 활용한 기본적인 조회 방법 select * from emp emp 테이블의 모든 데이터를 불러옴 * : 모든 데이터를 의미 from 자리에는 table 명이 온다. select * from dept; dept 테이블의 데이터를 불러옴. 원하는 컬럼의 선택 select empno, ename, sal, sal*1.1, 1111, 'abcd' from emp; emp 테이블의 EMPNO, ENAME, SAL 컬럼을 선택 컬럼에 연산을 적용하거나 숫자, 문자를 집어넣으면 컬럼화 시켜 보여준다. desc 명령어 desc employees; desc 명령어를 통해 테이블의 컬럼정보를 알 수 있다. Alias의 사용 select empno "사원 번호", ena..