본문 바로가기

[ORACLE 11일차] Subquery (2) ◈ 단일 행 Subquery와 다중 행 Subquery 서브쿼리는 반환하는 행 수가 한개인 것과 여러 개인 것에 따라서 단일 행 서브쿼리와 멀티 행 서브쿼리로 분류된다. 단일 행 서브쿼리는 단 하나의 행만 반환하는 서브쿼리로 비교 연산자 (=,1000); 위의 예에서는 EMP 테이블에서 SAL이 1000원 이상인 사원번호를 반환하고!!!!!!!!!!!!!반환된 사원번호와 메인쿼리의 사원번호와 비교해서 같은 것을 조회하는 것이다. ◈ ALL 메인쿼리와 서브쿼리의 결과가 모두 동일하면 참이다. SELECT * FROM EMPWHERE DEPTNO 1000); 급여가 1000원 이상이 있으면 참이 반환되고 없으면 거짓이 반환된다. ◈ Scalar Subquery스칼라 서브쿼리는 반드시 한 행과 한 칼럼만 반환..
[ORACLE 10일차]Subquery (1) ◈ Main query 와 Subquery Subquery란 SELECT문 내에 다시 SELECT 문을 사용하는 SQL 문이다.Subquery의 형태는 FROM 구에 SELECT 문을 사용하는 인라인 뷰(View)와 SELECT문에 Subquery를 사용하는 스칼라 서브쿼리 등이 있다.Where구에 SELECT문을 사용하면 서브쿼리라고 한다. SELECT * FROM EMP WHERE DEPTNO = (SELECT DEPTNO FROM EMP WHERE DEPTNO=10); 위의 예에 WHERE 구에 있는 SELECT문은 서브쿼리이고, 괄호 내에 SELECT문을 사용한다. 서브쿼리 밖에 있는 SELECT문은 메인쿼리(Main Query)이다. SELECT * FROM (SELECT ROWNUM NUM, ..
[정렬] 선택정렬 개념정리 & 구현 ◈ 개념 짝대기 -> 즉 기준이 있게 하고 최솟값을 가장 앞으로 이동시킨다. 그리고 짝대기를 오른쪽으로 한 칸 이동한다. (오름차순 정렬일 경우) ◈ 구현 #include int main() { int n; int data[100]; scanf("%d",&n); for(int i=0; i
[ORACLE 9일차] UNION, MINUS, Connect by ◈◈ UNION 이 연산은 두 개의 테이블을 하나로 만드는 연산이다.즉, 2개의 테이블을 하나로 합치는 것. 주의사항은 두 개의 테이블의 칼럼 수, 칼럼의 데이터 형식 모두가 일치해야 한다. 만약 두 개의 테이블에 UNION 연산이 사용될 때 칼럼 수 혹은 데이터 형식이 다르면 오류가 발생한다.UNION 연산은 두 개의 테이블을 하나로 합치며 중복된 데이터를 제거한다.그래서 UNION은 정렬(SORT) 과정을 발생시킨다. ◈ UNION ALL 이 연산도 두 개의 테이블을 하나로 합치는 것.UNION 처럼 중복을 제거하거나 정렬을 유발하지 않음. 아래의 예를 보고 이해하자!!! SQL> SELECT * FROM EMP; SQL> SELECT DEPTNO FROM EMP UNION SELECT DEPTNO ..
[Algorithm] 배열의 거리 이용하는 문제 #include #include//절대값 함수를 사용하기 위함.int n;int x,y;int r;int arr[100][100];int distance = 0; int main() { //Please Enter Your Code Here scanf("%d",&n); scanf("%d %d",&x,&y); scanf("%d",&r); for(int i=1; i
[ORACLE 8일차] JOIN ◈ 등가조인 (=EQUI 조인은 "="을 사용해서 두 테이블을 연결한다.) 조인은 여러 개의 릴레이션을 사용하여 새로운 릴레이션을 만드는 과정이다.조인의 가장 기본은 교집합을 만드는 것.두 개의 테이블 간에 일치하는 것을 조인한다. SELECT * FROM EMP,DEPT WHERE EMP.DEPTNO = DEPT.DEPTNO; 다음과 같이 조인하여 사용할 수 있다. 등가조인에서 select * from emp,dept where emp.deptno=dept.deptno and emp.ename LIKE '고%'; 와 같이 where절에 다음과 같이 and를 추가할 수 있다. 등가조인을 한 후에 실행계획을 확인해서 내부적으로 두 개의 테이블을 어떻게 연결했는지 확인할 수 있다.위의 예에서 보면 dept ..
[Algorithm] 함수 사용하여 2차원배열의 최대값 구해보기 #include // 전역으로 선언해주어야 메인에서 값을 불러올 수 있다.int arr[9][9];int maxValue = 0;int indexRow = 0;int indexCol = 0; int getMax(int arr[][9], int n, int m){ maxValue = arr[0][0]; for(int i=1; i
[ORACLE 7일차] TCL ◈ COMMIT커밋은 INSERT, UPDATE, DELETE문으로 변경한 데이터를 데이터베이스에 반영한다.변경 전 이전 데이터는 잃어버린다. 즉, A값을 B로 변경하고 COMMIT을 하면 A값은 잃어버린다.COMMIT이 완료되면 다른 모든 데이터베이스 사용자는 변경된 데이터를 볼 수 있다.COMMIT을 실행하면 하나의 트랜잭션 과정을 종료한다. SQL> UPDATE EMP SET ~~SQL> commit; commit을 하면 이전의 삽입, 수정, 삭제 내용이 모두 데이터베이스에 저장된다. ◈ ROLLBACKROLLBACK을 실행하면 데이터에 대한 변경 사용을 모두 취소하고 트랜잭션을 종료한다.SELECT, UPDATE, DELETE문의 모든 작업을 취소한다. 단, 이전에 COMMIT한 곳까지만 복구한다..