728x90

SQL 21

21강 오라클 SQL Outer Join

-- 1. Outer Join -- 2. ANSI Join select e1.ename, e2.ename from emp e1, emp e2 where e1.mgr = e2.empno(+); -- KING은 이 회사의 사장(PRESIDENT)으로 매니저가 존재하지 않으므로 -- MGR 컬럼 값이 NULL 입니다. 사원 번호(EMPNO)가 NULL인 사원은 -- 없으므로 조인 조건에 만족하지 않아 KING은 Seif Join의 결과에서 배제되었습니다. -- 조인 조건에 만족하지 못하였더라도 해당 로우를 나타내고 싶을 때에 사용하는 것이 외부 조인(Outer Join)입니다. -- 외부 조인은 NULL 값이기에 배제된 행을 결과에 포함시킬 수 있으며,"(+)" 기호를 조인 조건에서 정보가 부족한 컬럼 뒤에 ..

Database/OracleDB 2022.09.10

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 테..

Database/OracleDB 2022.09.09

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 -- 가장 많이 사용하는 조인 방법으..

Database/OracleDB 2022.09.09

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..

Database/OracleDB 2022.09.09

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, ..

Database/OracleDB 2022.09.09

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..

Database/OracleDB 2022.09.09

12강 오라클 SQL 날짜함수.

12강 oracle SQL 날짜함수. -- 4.1 현재 날짜를 반환하는 SYSDATE 함수 select sysdate from dual; -- 4.2 날짜 연산 select sysdate -1 어제, sysdate 오늘, sysdate+1 내일 from dual; -- -- 날짜를 빼는 연산, - 날짜 연산으로 구할 수 있음. 주의할 점은 현재에 가까운 날짜가 앞에 와야함. select sysdate - hiredate from emp; -- 4.3 특정 기준으로 반올림하는 ROUND 함수. ROUND(data, format) -- 일을 기준으로 16일보다 적으면 이번 달 1일을 크면 다음달 1일 구합니다. select hiredate, round(hiredate, 'month') from emp; --..

Database/OracleDB 2022.09.08

10강 오라클 SQL 주요함수, 숫자함수

SQL 주요 함수(숫자 함수) * 이 장에서 다룰 내용 1. DUAL 테이블과 SQL 함수 분류 2. 숫자 함수 01. DUAL 테이블과 SQL 함수 분류 ■ DUAL 테이블의 구조를 살펴보기 위해서 DESC 명령어를 사용합니다. 예 DESC DUAL ■ DUAL 테이블은 DUMMY라는 단 하나의 컬럼으로 구성되어 있습니다. ■ 이 컬럼의 최대 길이는 1입니다. ■ DUMMY 컬럼엔 과연 어떤 값이 저장되어 있는 것일까요? 예 SELECT * FROM DUAL; ■ DUAL 테이블은 DUMMY라는 단 하나의 컬럼에 X라는 단 하나의 로우만을 저장하고 있으나 이 값은 아무런 의미가 없습니다. ■ 쿼리문의 수행 결과가 하나의 로우로 출력되도록 하기 위해서 단 하나의 로우를 구성하고 있을 뿐입니다. ■ 일시적..

Database/OracleDB 2022.09.06

5강 오라클 select 모든 기능 특정열 선택

모든기능 특정열 선택 * 이 장에서 다룰 내용 1. 데이터를 조회하기 위한 SELECT문. 2. 특정 데이터만 보기. 01. 데이터를 조회하기 위한 SELECT문 ■ SELECT 문은 데이터를 조회하기 위한 SQL 명령어입니다. 형식 SELECT[DISTINCT]{*, column[Alias],...} FROM table_name; ▪ SQL 명령어는 하나의 문장으로 구성되어야 하는데 여러 개의 절이 모여서 문장이 되는 것이고 이러한 문장들은 반드시 세미콜론(;)으로 마쳐야 합니다. ▪ SELECT문은 반드시 SELECT와 FROM이라는 2개의 키워드로 구성되어야 합니다. ▪ SELECT절은 출력하고자 하는 컬럼 이름을 기술합니다. ▪ 특정 컬럼 이름 대신 *를 기술할 수 있는데, *는 테이블 내의 모든..

Database/OracleDB 2022.09.05

3강 SQL과 SQL*Plus의 개념

SQL과 SQL*Plus의 개념 ■ SQL (Strutured Query Language) ▪ 데이터베이스에 저장된 데이터를 조회, 입력, 수정, 삭제하는 등의 조작이나, 테이블을 비롯한 다양한 객체(시퀸스, 인데스 등)를 생성 및 제어하는 역활을 합니다. ■ SQL의 종류 ▪ 데이터 정의어(DDL) · 데이터베이스 관리자나 응용 프로그래머가 데이터베이스의 논리적 구조를 정의하기 위한 언어로서 데이터 사전(Data Dictionary)에 저장 됩니다. ▪ 데이터 조작어(DML) · 데이터베이스에 저장된 데이터를 조작하기 위해 사용하는 언어로서 데이터 검색(Retireval), 추가(Insert), 삭제(Delete), 갱신(Update)작업 수행 합니다. ▪ 데이터 제어어(DCL) · 데이터에 대한 접근..

Database/OracleDB 2022.09.05
728x90