본문 바로가기

개발자/DB 오라클12

데이터베이스 SQL 오라클 -- PL/SQL (Procedaul Language / SQL) -- SQL만으로는 구현이 어렵거나 구현 불가능한 작업을 수행하기 위해서 -- 오라클에서 제공하는 프로그래밍 언어를 말함. -- 일반적으로 프로그래밍 언어적인 요소들을 다 가지고 있으며, -- 데이터베이스 업무를 처리하기 위한 최적화된 언어. -- 변수, 조건처리, 반복 처리 등 다양한 기능을 사용할 수 있음. -- 기본 구조 -- 1) 선언부(declare) : 모든 변수나 상수를 선언하는 부분 -- 2) 실행부(excutable ~ begin) : - 실제 로직이 실행되는 부분. -- - 제어문(조건문), 반복문, 함수 정의 등의 로직을 기술하는 부분. -- 3) 예외처리부(exception) : 실행 도중 예외가 발생 시 해결하기 위.. 2022. 2. 26.
데이터베이스 SQL 오라클 제약조건, 시퀀스 , 트랜잭션 -- 컬럼 속성(제약조건) -- 테이블에 부적합한 자료가 입력되는 것을 방지하기 위해서 테이블을 생성할 때 각 컬럼에 대해서 정의하는 -- 여러가지 규칙을 정한 것. -- 1) not null -- 2) unique -- 3) primary kiey : not null + unique -- 4) foregin key -- 5) check -- 1) notnull 제약조건 -- null 값이 입력되지 못하게 하는 제약조건. -- 특정 열에 데이터의 중복 여부와는 상관없이 null 값을 허용하지 않는 제약 조건. create table null_test( col1 varchar2(10) not null, col2 varchar2(10) not null, col3 varchar2(10) ); insert in.. 2022. 2. 26.
데이터베이스 SQL 오라클 group by 절, having 절, view -- group by 절 -- 특정 컬럼이나 값을 기준으로 해당 레코드를 묶어서 자료를 관리할 때 사용 -- 보통은 특정 컬럼을 기준으로 집계를 구하는데 많이 사용이 됨 -- 보통 그룹함수와 함께 사용하면 효과적으로 활용이 가능함. select deptno from emp order by deptno; -- emp 테이블에서 부서별로 각 부서의 인원을 확인하고 싶은 경우 select deptno, count(*) from emp group by deptno order by deptno asc; -- emp 테이블에서 각 부서별로 급여의 합계액을 화면에 보여주세요. select deptno, sum(sal) 급여합계 from emp group by deptno order by sum(sal) desc; -.. 2022. 2. 26.
데이터베이스 SQL 오라클 서브 쿼리문 --★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ -- 서브 쿼리 -- 하나의 쿼리문 안에 포함되어 있는 또 하나의 쿼리문을 말함. -- 쿼리문 안에 또 다른 쿼리문이 존재하는 것을 말한다. -- 서브쿼리는 메인쿼리가 서브쿼리를 포함하는 종속적인 관계 -- 여러번 쿼리를 실행해서 얻을 수 있는 결과를 하나의 중첩된 쿼리문장으로 결과를 얻을 수 있게 해줌. -- 주의사항 -- 1) 서브쿼리는 괄호로 묶어서 사용해야함 -- 2) 서브쿼리 안에서는 order by절은 사용할 수 없음. -- 사용방법 : 안쪽에 있는 쿼리문을 실행 후, 그 결과 값으로 바깥쪽 쿼리문을 실행 -- emp테이블에서 이름이 'SCOTT'인 사원의 급여보다 : 서브쿼리 -- 더 많은 급여를 받는 사원의 사번, 이름,.. 2022. 2. 23.
데이터베이스 SQL 오라클 dual 테이블 -- dual 테이블 -- 오라클에서 자체적으로 제공해 주는 테이블 -- 간단하게 함수를 이용해서 계산, 결과값을 확인할 때 사용하는 테이블. -- 오직 한 행, 한 칼럼만을 담고 있는 테이블. -- 사용 용도 : 특정 테이블을 생성할 필요 없이 함수 또는 계산을 하고자 할 때 사용. -- 오라클에서 제공해 주는 함수들. -- 1. 날짜와 관련된 함수들 -- 1) sysdate : 현재 시스템의 날짜를 구해 오는 함수 select sysdate from dual; -- 2) add_months(현재 날짜, 숫자(더할 개월 수)) : 현재 날짜에서 개월 수를 더해주는 함수. select add_months(sysdate, 3) from dual; -- 3) next_day(현재 날짜, '요일') : 다가올.. 2022. 2. 23.
데이터베이스 SQL 오라클 join ~ on 키워드 - join ~ on 키워드 -- 테이블과 테이블을 연결하여 특정한 데이터를 얻고자 할 때 사용하는 키워드 -- 두 개 이상의 테이블에 정보가 나뉘어져 있을 때 사용. -- 중복해서 데이터가 저장되는 것을 막기 위함. -- 두 개의 테이블로 나누어진 경우에는 데이터의 중복은 발생하지 않지만 원하는 정보를 얻으려면 -- 여러번 질의를 해야하는 불편함이 발생함 -- 특정 사원이 소속된 부서명을 알고싶은 경우에는 emp테이블과 dept테이블을 넘나드는 작업이 생기므로 불편하다. -- 따라서 두 개의 테이블을 결합해 원하는 결과를 얻어낼 수 있도록 하는 조인이라는 기능이 생겨남. -- join의 종류 -- 1) Cross Join -- 2) Equi Join -- 3) Self Join -- 4) Outer J.. 2022. 2. 23.
데이터베이스 SQL 오라클 where 조건절, like 키워드, order by, 그룹함수, 시퀀스 -- ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ -- where 조건절 -- 모든 데이터를 가져오는 것이 아니라 사용자가 원하는 데이터만 조회할 경우 사용됨. -- where 절은 from 테이블 이름 뒤에 기술해야 한다. -- 형식) select 컬럼명1, 컬럼명2... 컬럼명n from 테이블 where 조건식; -- where 조건절은 자료를 필터링 할 때 사용되는 키워드 -- 1) = : 조건이 같은가? -- 2) = : 조건이 크거나 같은가? -- 6) != : 조건이 같지 않은가? -- 7) : 조건이 같지 않은가? !=와 같은 의미 -- 8) between A and B : A와 B사이에 있는가? -- 주의) 작은 값을 앞에 기술하고 큰 값을 뒤에 기술해야 한다. --.. 2022. 2. 21.
데이터베이스 SQL 오라클 literal 문자열 -- literal 문자열 -- 컬럼명이나 별칭이 아닌 select 목록에 포함되는 문자나 표현식 숫자를 의미 -- 날짜나 문자열인 경우 단일 인용부호('')를 사용해야한다. -- 예) "Kim 사원의 연봉은 7000만원 입니다." select name1 || ' 사원의 연봉은' || sal*12 ||'입니다.' as "사원의 연봉" from emp; ==> 출력시 사원의 연봉 name1 사원의 연봉은 (sal*12) 입니다 --[문제] member1- 테이블의 리터럴 작업을 진행해보자 --예) "홍길동 회원의 직업은 학생이고, 마일리지는 0입니다. select memname || ' 회원의 직업은 ' || job || '이고, 마일리지는 ' || mileage || '입니다.' as "회원의 직업 및 .. 2022. 2. 18.
데이터베이스 SQL 오라클 as 키워드, distinct 키워드 -- as 키워드 : 컬럼 제목(title)에 이름을 변경하는 키워드 ==> 별칭을 주는 방법 -- 사용 시 컬럼명 바로 뒤에 사용을 함. -- 컬럼명과 별칭 사이에 as 라는 키워드를 넣어주면 된다. as를 생략할 시 한칸을 띄운다. -- 보통 별칭은 "" 안에 작성함 select empno, ename, sal, comm, sal + nvl2(comm, comm, 0) "SAL + COMM" from emp; -- [문제] emp 테이블에서 사번, 이름, 급여, 급여의 10% 인상액을 화면에 보여주세요. select empno, ename, sal, sal*1.1 as "SAL 10% 인상" from emp; -- emp테이블에서 각 사원의 담당업무를 화면에 보여주세요. select distinct .. 2022. 2. 18.
데이터베이스 SQL 오라클 nvl() 함수 -- null 값을 가지는 컬럼은 다른 컬럼과 연산을 하게되면 모두 null 값으로 처리. -- nvl() 함수 : null 값을 특정한 값으로 변경시켜주는 함수. 모든 자료형에 적용 가능함. -- nvl() 함수를 사용할 때는 전환되는 값의 자료형을 일치시켜야함. -- 형식) nvl(null 값이 들어있는 컬럼명, 변경할 값); ex) select empno, ename, sal, comm, sal + nvl(comm, 0) from emp; -- nvl2() 함수 : 자바에서의 3항연산자와 비슷한 함수. -- 형식) nvl2(컬럼명, expr1, expr2); -- ==> 컬럼명의 값이 null이 아닌 경우 expr1을 반환을 받고, 컬럼명의 값이 null인경우 expr2의 값을 반환받음. ex) s.. 2022. 2. 18.
데이터베이스 SQL 오라클 테이블, 칼럼 생성, 삭제 및 수정 -- 학생 테이블을 만들어 보자. -- 구성요소 (칼럼 - 속성) : 학번, 이름, 학과, 학년, 나이, 연락처, 주소, 입학일(등록일) -- 테이블을 만드는 형식) -- create table 테이블이름( -- 학번 자료형(크기) {제약조건}, -- 이름 자료형(크기) {제약조건}, -- 학과 자료형(크기) {제약조건}, -- 학년 자료형(크기) {제약조건}, -- 나이 자료형(크기) {제약조건}, -- 연락처 자료형(크기) {제약조건}, -- 주소 자료형(크기) {제약조건}, -- 입학일 자료형(크기) {제약조건} -- ); create table student( hakbun varchar2(20) primary key, name1 varchar2(20) not null, major varchar2(.. 2022. 2. 18.
데이터베이스 SQL 오라클 자료형 및 제약조건 sql developer에서 주석문을 "--"을 사용. 오라클에서 속성에 들어가는 주요 자료형(data type) 1. number(n, n1) : 숫자 자료형(정수, 실수) n - 전체 자릿수 / n1 - 소수점 자릿수 / n - n1 : 정수 자릿수 예) number(7,2) : 전체 자릿수는 7자리이고, 정수는 5자리, 소수는 2자리 2. char(n) : 문자열 n개가 저장되는 자료형. ==> 고정자료형 고정자료형 : char(7) - 문자 7자리가 고정으로 저장되어 3자리만 사용해도 7자리를 소모. 3. varchar(n) : 문자열 n개가 저장되는 자료형 ==> 현재 오라클에서 사용하지 않는 자료형 4. varcahr2(n) : 문자열 n개가 저장되는 자료형. ==> 가변 자료형. 가변 자료형.. 2022. 2. 18.
반응형