SQLD(6)
-
SQL PL/SQL 프로시저 4_ 함수와 함수활용법/ 약간의 코드 연구
함수저장함수는 특정 처리 작업을 자주사용할때 한번에 수행할수 있도록 미리 코드의 로직을 미리 구상하여 만들어놓는다.함수는 반드시 리턴값이 존재하고, 항상 저장하여 사용한다. sql 함수 만들기 -저장함수----서버 on으로 열어주기--set serveroutput on;show serveroutput;create or replace function func_test1(p_no number)return numberas v_no number;beginv_no := p_no +10;return v_no;end;/sql에서 함수를 만들때는 create function 함수명을 사용하며 프로시저와 동일하게 괄호를 사용하여 프로시저를 적는다.함수에는 반드시 리턴값이 존재하기 때문에 파라미터를 정의한 괄호밑에 리턴..
2024.09.23 -
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 그룹함수(group by, grouping, rollup,cube)와 having
group bygroup by는 해당 컬럼의 같은 값끼리 그룹화를 진행시켜주는 구문이다. 형식은 group by 컬럼명의 형태로 적는다.--부서별로 그룹나누기--select deptno from empgroup by deptno;--직업으로 그룹화하기--select job, count(*) as job_count from empgroup by job order by job_count;group by를 사용할 경우, group by에 정의되지 않은 컬럼은 select 절에서 사용할 수 없다. 부서별로 그룹화했는데 사원이름인ename을 함께 출력하고자 하여 select 절에 ename을 추가하게 되면 에러가 발생한다. 이미 그룹화를 하여 그룹별 하나의 값인 단일행으로 그룹화되었는데 사원이름은 다중행이다보니..
2024.09.12 -
SQL 데이터베이스 다루기_[alter,별칭]
테이블의 구조변경(DDL)테이블의 내용이 아닌, 테이블 구조 자체를 변경하는 가장 대표적인 DDL중 하나인 alter에 대해서 알아보자.alter은 테이블의 구조를 수정하거나 변경할때 사용하며, sql언어마다 대부분 비슷하지만 오라클addmodifydrop columnrename torename column to*오라클의 경우 column이 붙은 명령어는 단일행만 수정가능하다. mysql(MongDB포함)add columnmodify columndrop columnrenamechange column 이정도의 차이점이 존재한다.그럼 일단 alter을 연습할 테이블을 간단하게 하나 만들어주고 시작하자..!--테이블 생성create table emp1( empno number, ena..
2024.09.11