전체 글(72)
-
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 -
SQL case when 구문과 활용방안(순서 치환), comment 달기
case whencase when은 기존 테이터 테이블에서 원하는 데이터를 원하는 특정값으로 분기처리해서 출력할 수 있는 구문이다. case when의 경우 단순case when 표현식과 검색 case when표현식으로 작성한다. 단순 case when 표현식--실습테이블 불러오기-- select * from emp1; --단순 case 표현식-- select ename, empno, sal, deptno, case deptno when 10 then '개발부' when 20 then '영업부' when 30 then '마케팅부' when 40 then '기획부' else '해당없음' end as denam from emp1; 단순case구문에서는 case옆에 분기처리할 해당 컬럼을 적고 when값에는 ..
2024.09.14 -
SQL join종류와 테이블 복사하기
joinjoin은 정규화 작업시 분리시켜놨던 테이블들이 가지고있는 공통된 KEY를 가지고 합하여 한꺼번에 하나의 테이블로 출력하는 걸 말한다. join의 종류inner joinleftouter joinrightouter joinfull outer joinself joinnatural joincross join cross join등이 있다.오라클의 경우 주의해야할점은 표준 조인과 쿼리문 작성방법에 약간의 차이를 가진다. inner join--inner join--select * from emp;select * from dept;--부서정보와 사원정보 한꺼번에 출력하기--select e.empno, e.ename, e.job, e.sal, e.deptno, d.dnamefrom emp e ,dept dwh..
2024.09.13