SQL(20)
-
SQL PL/SQL 프로시저 1_ 익명프로시저 실행문 / 변수, 컬럼타입
PL/SQL pl/sql은 오라클 데이터베이스에서 사용되는 프로시저형 프로그래밍언어로 SQL문 + 프로그래밍 언어 요소를 결합하여 데이터베이스 내에서 데이터를 처리하거나 비즈니스 로직 실행, 트리거, 함수, 저장 프로시저, 패키지 등을 작성하는데 사용된다. *비즈니스로직이란?조직이나 기업이 자신들의 목적을 달성하기 위해서 수행하는 일련의 절차, 정책, 규칙, 계획 등을 말한다. [비즈니스 로직 예시] 주문 처리 로직 -고객이 상품을 주문→ 접수 → 주문 검증 → 재고 확인 → 가격 계산 → 결제 처리회원 가입 로직 -새로운 회원의 가입요청 → 회원 정보 검증 → 중복 가입 방지 → 이메일 인증 → 가입 환영 메일 발송 이러한 절차들을 담은 비즈니스 로직들은 프로그래밍 언어로 구현되며, pl/sql..
2024.09.20 -
SQL View(View 생성시 다양한 옵션들)
Viewview는 하나 이상의 테이블을 묶어서 만드는 가상의 테이블로, select 문을 저장한 객체를 말한다. view는 물리적인 데이터의 값을 가지고있지 않아 관리가 편하다. view에는 하나의 테이블로만 생성하는 단순 view와 하나이상의 테이블들을 가지고 view를 생성하는 복합뷰가 있으며, 이외에도 view를 생성할때 사용할 수 있는 다양한 옵션들이 존재한다. view 생성 시 옵션or replaceforce / noforceview 이름(컬럼명1, 컬럼명2,...)with read onlywith check option복습에 사용할 기본테이블이 될 emp테이블을 먼저 불러준다. (오늘 복습에서 계속 사용할 예정...!) view 생성하기--view----view 생성--create view ..
2024.09.19 -
SQL 트랜젝션(commit, rollback)과 테이블 삭제 옵션들
트랜젝션트렌젝션이란 트렌젝션 제어언어(TCL)로, commit과 rollack이 이에 해당한다. 트렌젝션은 연속적인 업무 단위로 분할할 수 없는 최소의 단위이며, 모두 commit하거나 모두 rollback해야하는 all or nothing의 개념을 가지고 있다.commit은 영구저장을 뜻하며 rollback은 컨트롤+z와 비슷한 역할을 한다.commit을 수행하면 commit이전에 수정된 DML은 모두 영구저장되며 되돌릴 수 없다. rollback의 경우 단순 rollback을 하게 되면 바로 전에 실행된 DML언어를 되돌려주지만, 내가 되돌아가고싶은 지점에 savepoin를 지정하여 되돌아 갈 수 도 있다.-commit, rollbck----테이블 생성--create table rollback_tes..
2024.09.19 -
SQL 서브쿼리(스칼라 서브쿼리, 인라인뷰, 중첩서브쿼리)
서브쿼리하나의 sql문 안에 포함되어있는 또 다른 sql문을 말한다. 서브쿼리의 경우 괄호로 묶어서 사용하며 서브쿼리의 사용 위치에 따라 사용법과 부르는 이름이 달라진다. 서브쿼리 종류스칼라 서브쿼리인라인뷰중첩 서브쿼리 서브쿼리경우 group by를 제외한 거의 모든 쿼리문에서 사용이 가능한데 대표적으로는 스칼라, 인라인뷰, 중첩서브쿼리가 있으며, 스칼라 서브쿼리는 select 절에 사용하고, 인라인뷰는 from절에 사용하며, 중첩서브쿼리는 where절에서 사용한다. 스칼라 서브쿼리select 절에서 사용하는 서브쿼리이다. --스칼라 서브쿼리--select * from emp;select * from dept;select e.empno, e.ename, e.job, e.deptno,(select ..
2024.09.18 -
SQL 차집합, 교집합, 합집합(Union, Union all, intersect, minus, exists)
--실습테이블 생성----테이블 생성--create table class_1(id varchar2(100),constraint number_pk primary key(id),name varchar2(100) not null,total_scoure varchar2(100));create table class_2(id varchar(100),constraint in_2 primary key(id),name varchar2(100) not null,total_scoure varchar2(100));--값 삽입--insert into class_1 values('1001A', '나상현', 500);insert into class_1 values('1002A', '유다빈', 480);insert into clas..
2024.09.17 -
SQL 윈도우 함수(집계함수와 윈도우 함수, 순위함수)
--윈도우 함수-- select * from emp; select sum(sal) as sum_sal from emp; select empno, ename, job, deptno, sum(sal) as sum_sal from emp; --에러!--합계, 평균, 갯수 등 집계된 값을 확인하기 위해서는 보통 group by를 사용하지만 group by를 사용할 경우 그룹된 값과 집계된 값 이외에는 값을 확인할 수 없다. 만약, 부서별로 급여의 합계를 구하고싶은데, 그 부서에 누가있는지, 직업은 뭔지 등 구체적인 정보와 함께 출력하고 싶다면 윈도우 함수를 사용하면 된다. windowing function--윈도우 함수_집계함수와 함께 사용하기-- --급여전체합계 구하기-- select empno, ename,..
2024.09.15