DB/Oracle SQL Developer19 <25, 26> 단일행 함수 - 숫자, 날짜형 함수 단일 행 함수 - 숫자, 날짜형 함수 ROUND : 그냥 쓰면 소수점을 반올림해서 정수로 ROUND(m, n) n자리까지 반올림한다 ROUND(123.4567, 3) => 123.457 TRUNC : TRUNC(m, n) n자리 미만을 절삭한다 TRUNC(123.4567, 3) => 123.456 MOD : MOD(m, n) m을 n으로 나눈 나머지 계산한다 MOD(10, 4) => 2 POWER : POWER(m, n) m의 n승 계산한다 POWER(2, 4) => 16 CEIL : CEIL(m) m보다 큰 가장 작은 정수를 찾는다 CEIL(2.34) => 3 FLOOR : FLOOR(m) m보다 작은 가장 큰 수를 찾는다 FLOOR(2.34) => 2 ABS : ABS(m) m의 절대값을 계산한다 A.. 2020. 12. 2. <23, 24> 단일행 함수 - 문자함수 1) LOWER UPPER INITCAP 2) || ' ' || 3) LENGTH( ) 4) SUBSTR : 내용 검색 5) INSTR : 위치 출력 6) TRIM 7) RPAD LPAD 8) LENGTH ( ) -1 : 글자 제외 9) TRANSLATE REPLACE 단일 행 함수 - 문자함수 ; 프로그래머는 복잡한 SQL 문의 이해나 오라클이 제공하는 함수를 몰라도 사용에는 문제가 없다 But, SQL 문을 잘 이해해야 되는 이유가 있다 1) 데이터를 프로그램에서 가공처리하는 것보다 DBMS에서 처리해서 결과만 받아오는 것이 성능상 훨씬 낫다 2) 아키텍처 면에서 프로그램은 받아온 결과를 보여주는데 주력하고, DBMS는 데이터를 저장/처리 에 집중하면 둘 간에 적정한 역할의 분리가 이루어 지므로 유연.. 2020. 12. 2. <21, 22> JOIN ~ON 절 / 좌우 외부 조인 (Left Right Outer Join) ON절은 가독성이 우수하다는 장점이 있다. 하지만, 사실 이거 뭐 어떻게 돌아가는지 잘 모르겠고 그냥 불편하다. Natural이 짱임.. [ON 절] : 가독성이 우수하다. 조인조건을 명시적으로 표현하기 때문에. ON 절의 특징 : 등가 조인과 비등가 조인을 모두 표현할 수 있다. -- 등가조인 1) 각 사원의 근무 부서를 검색하세요 SELECT eno 사번, ename 이름, dept.dno 부서번호, dname 부서명 FROM emp JOIN dept ON emp.dno=dept.dno; --비등가조인 2) 개발 업무를 담당하는 사원의 급여 등급을 검색하세요 SELECT eno 사번, ename 이름, job 업무, grade 급여등급 FROM emp JOIN salgrade ON sal BETWEE.. 2020. 12. 2. <19, 20> Natural Join / Using Join 웬만하면 Natural로 때려박는게 편하더라 [Join을 표현하는 여러가지 방법] [Natuaral Join - 자연조인] : 컬럼이름과 자료형이 일치하는 것을 찾아서 조인 1) 자연 조인으로 각 사원의 근무 부서를 검색 SELECT eno 사번, ename 이름, dno 부서번호, dname 부서명 FROM emp NATURAL JOIN dept; 2) 광주에서 근무하는 직원 명단 (부서번호, 부서명) SELECT loc 근무처, dno 부서번호, dname 부서명, eno 사번, ename 이름 FROM dept NATURAL JOIN emp WHERE loc='광주'; SELECT loc 근무처, dno 부서번호, dname 부서명, eno 사번, ename 이름 FROM emp NATURAL JO.. 2020. 12. 2. <17, 18> 자기 참조 조인(Self Join ) / 외부 조인(Outer Join) 외부 조인의 가장 중요한 의미는 출력 데이터의 신뢰성 제공 [Self Join] 자기 참조 조인 ; emp 사원을 관리하는 관리자 ex) 김연아 사원의 관리자(사수) -0301 이승철 1) 각 사원을 관리하는 관리자의 이름을 검색하세요 e1 : 사원테이블 e2 : 관리자 테이블 SELECT e1.eno 사번, e1.ename 사원명, e1.mgr 관리자사번, e2.eno 관리자사번, e2.ename 관리자명 FROM emp e1, emp e2 WHERE e1.mgr = e2.eno; --사원테이블의 관리자 = 관리자테이블의 누구 -- 사원의 관리자 = 관리자 사번 [Outer Join - 외부조인] 2) 각 부서별로 사원을 검색한다 일반 조인 SELECT d.dno 부서번호, dname 부서명, enam.. 2020. 12. 2. <15, 16> JOIN : 등가조인, 비등가조인, 잘못된 조인(Cross Join) [JOIN] ; 관계형 데이터베이스 시스템 (Oracle, MySQL(Maria), SQL-Server(MS-SQL)... ) 관계형 데이터베이스 : 테이블-테이블 연관관계를 맺고 있다. ex) emp-dno : 사원이 어느 부서에 소속되어 있는지.. emp의 dno정보를 가지고 연관성 있는 dept 테이블에서 연관성을 찾아야 한다. dno라는 컬럼으로 연관을 맺고 있다. dept-dno : 사원번호 김연아 02 - 02 회계부서 1) 각 사원의 근무 부서를 검색한다 SELECT dno 부서번호, eno 사번, ename 이름 FROM emp; --등가조인 ; 같은 값을 연결시켰다. -- : 두 테이블의 공통 컬럼을 = 연산자로 조건을 부여한 것 SELECT eno 사번, ename 이름, emp.dno.. 2020. 12. 2. <11, 12 , 13, 14> 관계연산자 AND, OR / LIKE / BETWEEN, IN [관계 연산자 : AND, OR] --1) 20번 부서원 중에 급여가 2000이상인 사원을 검색하세요 SELECT * FROM emp WHERE dno = '20' AND sal >= 2000; --2) 30번 부서원 중에 급여가 2000이상이고 개발 업무를 담당하는 -- 사원을 검색하세요 SELECT * FROM emp WHERE dno='30' AND sal >= 2000 AND job='개발'; --3) 관계 연산자 우선순위 NOT > AND > OR SELECT * FROM emp WHERE dno='10' OR sal > 1600 AND comm > 600; SELECT * FROM emp WHERE (dno='10' OR sal > 1600) AND comm > 600; [LIKE 연산자] ;.. 2020. 12. 2. <1 ~ 10 > Oracle SQL 기초 ~ WHERE 절 SELECT * FROM EMP; select * from emp; select * from EMP; SELECT * FROM emp; --이 방식을 선택 --SELECT * FROM EMP; --select * from emp; --select * from EMP; --SELECT * FROM emp; --이 방식을 선택 --테이블 구조 확인 DESC emp; DESC dept; DESC professor; --현재 스키마(현재 계정)에 포함된 모든 테이블 검색 SELECT * FROM tab; --emp의 구조와 데이터를 확인 DESC emp; SELECT * FROM emp; SELECT eno, ename, job FROM emp; SELECT eno, ename, sal FROM emp; --테.. 2020. 12. 2. Oracle SQL 1 보호되어 있는 글 입니다. 2020. 11. 27. 이전 1 2 다음