DataBase/Oracle SQL
-
2021-05-08 - 올림 CEIL -- 올림 10.54 구하기 답: 11 SELECT CEIL(10.54) FROM DUAL; -- 올림 10.33 구하기 답: 11 SELECT CEIL(10.33) FROM DUAL; CEIL이라는 숫자 함수를 사용 시 소솰호 안에 올림을 하고 싶은 실수를 넣어주면 된다. 소수점이 어떠한 경우에도 올림 처리가 되며 위의 예제는 결괏값이 모두 11이 나오게 된다. - 내림 FLOOR -- 내림 10.54 구하기 답: 10 SELECT FLOOR(10.54) FROM DUAL; -- 내림 10.33 구하기 답: 10 SELECT FLOOR(10.33) FROM DUAL; 내림의 기능을 하는 함수는 FLOOR로 CEIL 가 마찬가지로 소괄호 안에 내림을 하고 싶은 실수를..
[Oracle SQL] 오라클 올림/내림/절대값 구하는 방법 CEIL/FLOOR/ABS2021-05-08 - 올림 CEIL -- 올림 10.54 구하기 답: 11 SELECT CEIL(10.54) FROM DUAL; -- 올림 10.33 구하기 답: 11 SELECT CEIL(10.33) FROM DUAL; CEIL이라는 숫자 함수를 사용 시 소솰호 안에 올림을 하고 싶은 실수를 넣어주면 된다. 소수점이 어떠한 경우에도 올림 처리가 되며 위의 예제는 결괏값이 모두 11이 나오게 된다. - 내림 FLOOR -- 내림 10.54 구하기 답: 10 SELECT FLOOR(10.54) FROM DUAL; -- 내림 10.33 구하기 답: 10 SELECT FLOOR(10.33) FROM DUAL; 내림의 기능을 하는 함수는 FLOOR로 CEIL 가 마찬가지로 소괄호 안에 내림을 하고 싶은 실수를..
2021.05.08 -
2021-05-07 - 제곱 오라클에서 제곱을 구하는 방법은 POWER라는 함수를 사용하며, 두 가지 매개 값을 받는다. -- 2 의 4 제곱 구하기 답: 16 SELECT POWER(2, 4) 제곱 FROM DUAL; -- 3 의 3 제곱 구하기 답: 27 SELECT POWER(3, 3) 제곱 FROM DUAL; 위의 예제처럼 2와 4를 받으면 2의 4제곱을 구할 수 있다. - 제곱근 제곱근을 구하기 위해서는 SQRT 함수를 사용하며 매개 값은 제곱근을 구하기 위한 정수 하나를 받는다. 예제는 아래와 같다. -- 16 의 제곱근 구하기 답: 4 SELECT SQRT(16) 제곱근 FROM DUAL; -- 81 의 제곱근 구하기 답: 9 SELECT SQRT(81) 제곱근 FROM DUAL; 만약에 제..
[Oracle SQL] 오라클 제곱과 제곱근 구하기 POWER/SQRT2021-05-07 - 제곱 오라클에서 제곱을 구하는 방법은 POWER라는 함수를 사용하며, 두 가지 매개 값을 받는다. -- 2 의 4 제곱 구하기 답: 16 SELECT POWER(2, 4) 제곱 FROM DUAL; -- 3 의 3 제곱 구하기 답: 27 SELECT POWER(3, 3) 제곱 FROM DUAL; 위의 예제처럼 2와 4를 받으면 2의 4제곱을 구할 수 있다. - 제곱근 제곱근을 구하기 위해서는 SQRT 함수를 사용하며 매개 값은 제곱근을 구하기 위한 정수 하나를 받는다. 예제는 아래와 같다. -- 16 의 제곱근 구하기 답: 4 SELECT SQRT(16) 제곱근 FROM DUAL; -- 81 의 제곱근 구하기 답: 9 SELECT SQRT(81) 제곱근 FROM DUAL; 만약에 제..
2021.05.07 -
2021-04-23 간혹가다 기존의 외래키를 무시하고 해당 외래키가 참조하고 있는 기본키가 있는 테이블을 삭제해야 해야 하는 경우가 있다. 물론 특정 기본키만 삭제시 해당 기본키를 참조하는 테이블의 외래키에 ON DELETE 옵션을 주었거나 외래키 테이블의 데이터를 먼저 지우는 등 방법이 있겠지만 아주 간단히 코드 한 줄로 제거하는 방법도 있다. - 코드 바로 CASCADE CONSTRAINTS 키워드를 사용하는 것이다. DROP TABLE ["테이블명"] CASCADE CONSTRAINTS 코드 한줄로 모든 제약조건을 무시하고 현재 테이블은 물론 해당 테이블을 참조하는 다른 테이블들 역시 모두 제거가 된다. 때문에 반드시 참조여부를 확인하고 해당 코드를 사용해야하며, 사용시 백업을 해두고 사용하는 것이..
[Oracle SQL] 오라클 외래키 제약조건 무시하고 기본키 삭제하는법 CASCADE CONSTRAINTS2021-04-23 간혹가다 기존의 외래키를 무시하고 해당 외래키가 참조하고 있는 기본키가 있는 테이블을 삭제해야 해야 하는 경우가 있다. 물론 특정 기본키만 삭제시 해당 기본키를 참조하는 테이블의 외래키에 ON DELETE 옵션을 주었거나 외래키 테이블의 데이터를 먼저 지우는 등 방법이 있겠지만 아주 간단히 코드 한 줄로 제거하는 방법도 있다. - 코드 바로 CASCADE CONSTRAINTS 키워드를 사용하는 것이다. DROP TABLE ["테이블명"] CASCADE CONSTRAINTS 코드 한줄로 모든 제약조건을 무시하고 현재 테이블은 물론 해당 테이블을 참조하는 다른 테이블들 역시 모두 제거가 된다. 때문에 반드시 참조여부를 확인하고 해당 코드를 사용해야하며, 사용시 백업을 해두고 사용하는 것이..
2021.04.23 -
2021-04-22 오라클 내부에서 날짜 데이터를 비교하는 방법을 알아보자. 우선 사용할 방법은 문자 포맷으로 바꾸어주는 TO_CHAR를 이용해서 날짜를 비교할 것이다. - 예제 사용할 테이블은 SEE_INFO로 내용은 아래와 같다. - 상황 1 오늘 날짜 04/21 기준으로 생일이 지나지 않은 사람들만 출력하려고 한다. SELECT * FROM SEE_INFO WHERE TO_CHAR(SYSDATE, 'MM/dd')
[Oracle SQL] 오라클 날짜데이터 비교하는 법 알아보기2021-04-22 오라클 내부에서 날짜 데이터를 비교하는 방법을 알아보자. 우선 사용할 방법은 문자 포맷으로 바꾸어주는 TO_CHAR를 이용해서 날짜를 비교할 것이다. - 예제 사용할 테이블은 SEE_INFO로 내용은 아래와 같다. - 상황 1 오늘 날짜 04/21 기준으로 생일이 지나지 않은 사람들만 출력하려고 한다. SELECT * FROM SEE_INFO WHERE TO_CHAR(SYSDATE, 'MM/dd')
2021.04.22 -
2021-04-19 날짜 포맷을 정하는 TO_DATE 메서드와 월별 마지막 날을 알려주는 LAST_DAY 메소드를 이용하면 간단히 월별 데이터를 구할 수 있는데, 그 방법을 알아보자. -예제 예제로는 SEE_INFO 테이블을 이용해서 사용해도록 하자. 테이블의 내용은 아래와 같다. - 11월이 생일인 학생들 TO_DATE를 통해서 월의 시작일(1일)과 끝나는날(28일/30일/31일)을 정해주면 간단히 처리된다. LAST_DAY는 날짜형 포맷만 전달받을 수 있기 때문에 TO_DATE로 날짜 포맷으로 바꾸어 준 뒤에 사용하는 것이 조금 더 안전하게 쿼리문을 수행할 수 있다. SELECT * FROM SEE_INFO WHERE BIRTH BETWEEN TO_DATE('1990-11-01', 'yyyy-MM-d..
[Oracle SQL] 오라클 TO_DATE/ LAST_DAY로 월별 데이터 구하기2021-04-19 날짜 포맷을 정하는 TO_DATE 메서드와 월별 마지막 날을 알려주는 LAST_DAY 메소드를 이용하면 간단히 월별 데이터를 구할 수 있는데, 그 방법을 알아보자. -예제 예제로는 SEE_INFO 테이블을 이용해서 사용해도록 하자. 테이블의 내용은 아래와 같다. - 11월이 생일인 학생들 TO_DATE를 통해서 월의 시작일(1일)과 끝나는날(28일/30일/31일)을 정해주면 간단히 처리된다. LAST_DAY는 날짜형 포맷만 전달받을 수 있기 때문에 TO_DATE로 날짜 포맷으로 바꾸어 준 뒤에 사용하는 것이 조금 더 안전하게 쿼리문을 수행할 수 있다. SELECT * FROM SEE_INFO WHERE BIRTH BETWEEN TO_DATE('1990-11-01', 'yyyy-MM-d..
2021.04.19 -
2021-04-12 테이블에 존재하는 각 속성을 하나의 그룹으로 만들어 원하는 데이터를 추출하는 GROUPING에 대하여 알아보자. - 예제 아래는 SENUM을 기본키로 가지는 SEE_INFO 테이블이다. 아래의 테이블을 기준으로 GROUPING을 진행해 보겠다. - GRADE(학년)별 존재하는 학생 수 -- 학년별 몇명의 사람이 있는지 그룹을 지정해서 보여주기 SELECT GRADE 학년, COUNT(GRADE) 학생수 FROM SEE_INFO GROUP BY GRADE; 위의 코드는 학년별로 총학생의 수를 선택하는 코드이다. 학년별 학생의 수를 보여줄 거기 때문에 GROUP BY로 GRADE를 묶어 주었으며, 이후 COUNT 집계함수를 통해 그룹별 몇 명의 학생이 있는지 체크한다. 위의 코드의 결과는..
[Oracle SQL] 오라클 GROUP BY(GROUPING) 알아보기.2021-04-12 테이블에 존재하는 각 속성을 하나의 그룹으로 만들어 원하는 데이터를 추출하는 GROUPING에 대하여 알아보자. - 예제 아래는 SENUM을 기본키로 가지는 SEE_INFO 테이블이다. 아래의 테이블을 기준으로 GROUPING을 진행해 보겠다. - GRADE(학년)별 존재하는 학생 수 -- 학년별 몇명의 사람이 있는지 그룹을 지정해서 보여주기 SELECT GRADE 학년, COUNT(GRADE) 학생수 FROM SEE_INFO GROUP BY GRADE; 위의 코드는 학년별로 총학생의 수를 선택하는 코드이다. 학년별 학생의 수를 보여줄 거기 때문에 GROUP BY로 GRADE를 묶어 주었으며, 이후 COUNT 집계함수를 통해 그룹별 몇 명의 학생이 있는지 체크한다. 위의 코드의 결과는..
2021.04.12 -
2021-04-10 오라클 내부에서 각 테이블에 행 번호를 매길 수 있는 방법이 존재한다. 이는 ROWNUM을 이용하는 것인데, 이와 같은 방법을 알아보자. - 예제 예제는 SEE_INFO라는 이름을 가진 테이블을 사용할 것이며, 테이블 내부의 데이터는 아래와 같다. - ROWNUM 먼저 기초적인 ROWNUM을 포함하여 전체 TABLE 데이터를 출력해보자. 사용하는 방법은 아래와 같다. SELECT ROWNUM NUM, SEE_INFO.* FROM SEE_INFO; SELECT 절에 ROWNUM을 명시해주면 되며, 이후 테이블명.* 과 같이 써주면 된다. FROM 절에 테이블이 이미 명시되어 있다고 SELECT 절에 테이블명 없이 '*'만 사용할 경우 에러가 나는 점도 알아두자. - ROWNUM 정렬 우..
[Oracle SQL] 오라클 ROWNUM 사용하는 법 알아보기.2021-04-10 오라클 내부에서 각 테이블에 행 번호를 매길 수 있는 방법이 존재한다. 이는 ROWNUM을 이용하는 것인데, 이와 같은 방법을 알아보자. - 예제 예제는 SEE_INFO라는 이름을 가진 테이블을 사용할 것이며, 테이블 내부의 데이터는 아래와 같다. - ROWNUM 먼저 기초적인 ROWNUM을 포함하여 전체 TABLE 데이터를 출력해보자. 사용하는 방법은 아래와 같다. SELECT ROWNUM NUM, SEE_INFO.* FROM SEE_INFO; SELECT 절에 ROWNUM을 명시해주면 되며, 이후 테이블명.* 과 같이 써주면 된다. FROM 절에 테이블이 이미 명시되어 있다고 SELECT 절에 테이블명 없이 '*'만 사용할 경우 에러가 나는 점도 알아두자. - ROWNUM 정렬 우..
2021.04.10 -
2021-04-01 오라클 SQL 내부에서의 시퀀스는 고유 한 정수를 생성할 수 있는 데이터베이스 개체인 시퀀스를 만든다. 시퀀스를 사용하여 기본 키 값을 자동으로 생성할 수 있다. 여기서 기본 키 값이라고 표현한 이유는 시퀀스는 테이블 내부에 객체를 추가(INSERT) 할 때마다 자동으로 1 ~ N의 수만큼 커지기 때문이다. 그렇기 때문에 한 테이블 내에 동일한 시퀀스 값은 존재할 수 없다. 이해하기 쉬운 예를 들자면 특정 사이트의 게시판에 새로운 게시글을 작성하면 게시판번호가 좌측 끝이나 우측 끝에 추가되어 게시판에 등록되는 것도 하나의 시퀀스라고 볼 수 있다. - 선언 시퀀스에는 다양한 옵션을 부여할 수 있다. 옵션은 아래의 코드와 같이 부여 할 수 있다. -- 시퀀스 이름 설정 CREATE SEQ..
[Oracle SQL] 오라클SEQUENCE 알아보기 [시퀀스 총정리]2021-04-01 오라클 SQL 내부에서의 시퀀스는 고유 한 정수를 생성할 수 있는 데이터베이스 개체인 시퀀스를 만든다. 시퀀스를 사용하여 기본 키 값을 자동으로 생성할 수 있다. 여기서 기본 키 값이라고 표현한 이유는 시퀀스는 테이블 내부에 객체를 추가(INSERT) 할 때마다 자동으로 1 ~ N의 수만큼 커지기 때문이다. 그렇기 때문에 한 테이블 내에 동일한 시퀀스 값은 존재할 수 없다. 이해하기 쉬운 예를 들자면 특정 사이트의 게시판에 새로운 게시글을 작성하면 게시판번호가 좌측 끝이나 우측 끝에 추가되어 게시판에 등록되는 것도 하나의 시퀀스라고 볼 수 있다. - 선언 시퀀스에는 다양한 옵션을 부여할 수 있다. 옵션은 아래의 코드와 같이 부여 할 수 있다. -- 시퀀스 이름 설정 CREATE SEQ..
2021.04.01 -
2021-03-12 VIEW란 기존의 존재하는 테이블로 만들어진 가상의 테이블이라고 정의할 수 있다. VIEW를 통해 필요한 데이터만 정의해서 관리할 수 있으며, VIEW에 정의되지 않은 데이터들은 사용자에게 보이지 않기 때문에, 데이터를 비교적 안전하게 관리할 수 있다. 추가적으로 VIEW를 통해 쿼리를 간단히 할 수 있다는 장점도 있다. - 예제 테이블 ( SEE_INFO ) 아래는 뷰가 참고할 원본 테이블 SEE_INFO의 데이터이다. - VIEW 생성 SEE_INFO 테이블에서 나이가 25세보다 많은 사람의 NAME과 GRADE의 정보 추출 -> VIEW 생성 CREATE VIEW SEE_TEST1 AS SELECT NAME, GRADE FROM SEE_INFO WHERE AGE > 25; CRE..
[Oracle SQL] 오라클 VIEW 에 대하여 알아보기.2021-03-12 VIEW란 기존의 존재하는 테이블로 만들어진 가상의 테이블이라고 정의할 수 있다. VIEW를 통해 필요한 데이터만 정의해서 관리할 수 있으며, VIEW에 정의되지 않은 데이터들은 사용자에게 보이지 않기 때문에, 데이터를 비교적 안전하게 관리할 수 있다. 추가적으로 VIEW를 통해 쿼리를 간단히 할 수 있다는 장점도 있다. - 예제 테이블 ( SEE_INFO ) 아래는 뷰가 참고할 원본 테이블 SEE_INFO의 데이터이다. - VIEW 생성 SEE_INFO 테이블에서 나이가 25세보다 많은 사람의 NAME과 GRADE의 정보 추출 -> VIEW 생성 CREATE VIEW SEE_TEST1 AS SELECT NAME, GRADE FROM SEE_INFO WHERE AGE > 25; CRE..
2021.03.12 -
2021-03-04 스칼라 서브 쿼리 간단히 설명하자면 SELECT 절에 사용하는 서브 쿼리로써 단순한 JOIN을 대체할 목적으로 사용되는 경우가 많다. 다만 풀 스캔 등을 유발하는 등 JOIN에 비해서 알고리즘적 성능면에서 다소 떨어지기 때문에 JOIN을 할 수 있는 경우는 JOIN을 하는 게 좋다. 또한 서브쿼리에 조건에 따라 반드시 하나의 값을 출력하게 되며(단 한 개의 행을 출력한다는 의미가 아님), 만약에 서브 쿼리에 결과 데이터가 없을 경우 NULL 값을 리턴하다. 어떤 면에서는 OUTERJOIN과 다소 비슷한 역할을 하기도 한다. - 예제 SEE_INFO 테이블 PK -> SEENUM / FK -> GRADE SEE_GRADE 테이블 PK_GRADE - 스칼라 서브쿼리 예제 1 문제 : 2학..
[Oracle SQL] 오라클 스칼라 서브쿼리 알아보기2021-03-04 스칼라 서브 쿼리 간단히 설명하자면 SELECT 절에 사용하는 서브 쿼리로써 단순한 JOIN을 대체할 목적으로 사용되는 경우가 많다. 다만 풀 스캔 등을 유발하는 등 JOIN에 비해서 알고리즘적 성능면에서 다소 떨어지기 때문에 JOIN을 할 수 있는 경우는 JOIN을 하는 게 좋다. 또한 서브쿼리에 조건에 따라 반드시 하나의 값을 출력하게 되며(단 한 개의 행을 출력한다는 의미가 아님), 만약에 서브 쿼리에 결과 데이터가 없을 경우 NULL 값을 리턴하다. 어떤 면에서는 OUTERJOIN과 다소 비슷한 역할을 하기도 한다. - 예제 SEE_INFO 테이블 PK -> SEENUM / FK -> GRADE SEE_GRADE 테이블 PK_GRADE - 스칼라 서브쿼리 예제 1 문제 : 2학..
2021.03.04 -
2021-03-02 - 정의 미국 국가표준 협회(American National Standards Institute, ANSI)는 미국에서 제품, 서비스, 과정, 시스템, 인력관리 분야에서 표준을 개발하는 것을 감독하는 비영리 민간 기구로서, 미국을 대표하여 국제 표준화 기구(ISO)에 가입하였다.[1] 이 협회는 미국의 제품이 전세계에서 사용될 수 있도록 미국의 표준을 국제표준에 맞추는 활동도 한다. 이 협회는 다른 표준화 기구나 정부 기관, 소비자 단체, 회사 등이 개발한 표준을 승인하기도 한다. 그럼으로써 용어를 통일하고, 제품의 특성, 성능, 테스트 방법 등에서 일관성을 유지한다. 이 협회는 제품이나 인력의 인증 기구가 국제표준에서 정의된 기준에 부합하는지에 대해 승인하기도 한다. 이 협회가 제정..
[Oracle SQL] 오라클 ANSI SQL JOIN 구문 알아보기2021-03-02 - 정의 미국 국가표준 협회(American National Standards Institute, ANSI)는 미국에서 제품, 서비스, 과정, 시스템, 인력관리 분야에서 표준을 개발하는 것을 감독하는 비영리 민간 기구로서, 미국을 대표하여 국제 표준화 기구(ISO)에 가입하였다.[1] 이 협회는 미국의 제품이 전세계에서 사용될 수 있도록 미국의 표준을 국제표준에 맞추는 활동도 한다. 이 협회는 다른 표준화 기구나 정부 기관, 소비자 단체, 회사 등이 개발한 표준을 승인하기도 한다. 그럼으로써 용어를 통일하고, 제품의 특성, 성능, 테스트 방법 등에서 일관성을 유지한다. 이 협회는 제품이나 인력의 인증 기구가 국제표준에서 정의된 기준에 부합하는지에 대해 승인하기도 한다. 이 협회가 제정..
2021.03.02 -
2021-02-28 오늘은 기존의 지정된 외래 키를 삭제 및 수정하는 방법을 알아보도록 하자. -예제 외래 키를 제공할 SEE_GRADE 테이블 CREATE TABLE SEE_GRADE( GRADE NUMBER CONSTRAINT PK_GRADE PRIMARY KEY ); SEE_GRADE의 기본키를 외래 키로 사용할 SEE_INFO 테이블 CREATE TABLE SEE_INFO ( SEENUM NUMBER CONSTRAINT PK_SEENUM PRIMARY KEY, NAME VARCHAR(20), AGE NUMBER, GRADE NUMBER, CONSTRAINT FK_GRADE FOREIGN KEY (GRADE) REFERENCES SEE_GRADE(GRADE) ); - 삭제 기존의 SEE_INFO의 ..
[Oracle SQL] 오라클 외래키의 삭제 수정 하는 방법2021-02-28 오늘은 기존의 지정된 외래 키를 삭제 및 수정하는 방법을 알아보도록 하자. -예제 외래 키를 제공할 SEE_GRADE 테이블 CREATE TABLE SEE_GRADE( GRADE NUMBER CONSTRAINT PK_GRADE PRIMARY KEY ); SEE_GRADE의 기본키를 외래 키로 사용할 SEE_INFO 테이블 CREATE TABLE SEE_INFO ( SEENUM NUMBER CONSTRAINT PK_SEENUM PRIMARY KEY, NAME VARCHAR(20), AGE NUMBER, GRADE NUMBER, CONSTRAINT FK_GRADE FOREIGN KEY (GRADE) REFERENCES SEE_GRADE(GRADE) ); - 삭제 기존의 SEE_INFO의 ..
2021.02.28 -
2021-02-27 - 문제 SQL 워크시트에는 좌측에 빈 공백이 있다. 워크시트에 Query문이 적을 때는 행 번호가 상관이 없겠지만, 쿼리문이 많을 때 코드 작성 간 발생하는 오류에서 행 번호가 나타나게 되는데, 이 워크시트에 행 번호가 없을 경우 해당 오류를 찾을 때 번거로워질 수가 있다. 때문에 오늘은 워크시트의 행 번호가 표시되게 하는 방법을 알아보자. - 방법 1 첫번째 방법은 굉장히 간단하다. 워크시트 행 번호가 표시되는 부분에 우클릭을 하면 위와 같은 선택창이 뜨게 되며, 여기서 행 번호 토글을 누르면 바로 현재 워크시트의 행 번호가 아래와 같이 나타나게 된다. - 방법 2 두번째 방법은 환경설정에서 항상 표시되게 끔 설정하는 방법이다. SQL Developer의 상단에 보면 도구라는 항목..
[Oracle SQL] SQL Developer 워크시트 행번호 보이게 하는 방법2021-02-27 - 문제 SQL 워크시트에는 좌측에 빈 공백이 있다. 워크시트에 Query문이 적을 때는 행 번호가 상관이 없겠지만, 쿼리문이 많을 때 코드 작성 간 발생하는 오류에서 행 번호가 나타나게 되는데, 이 워크시트에 행 번호가 없을 경우 해당 오류를 찾을 때 번거로워질 수가 있다. 때문에 오늘은 워크시트의 행 번호가 표시되게 하는 방법을 알아보자. - 방법 1 첫번째 방법은 굉장히 간단하다. 워크시트 행 번호가 표시되는 부분에 우클릭을 하면 위와 같은 선택창이 뜨게 되며, 여기서 행 번호 토글을 누르면 바로 현재 워크시트의 행 번호가 아래와 같이 나타나게 된다. - 방법 2 두번째 방법은 환경설정에서 항상 표시되게 끔 설정하는 방법이다. SQL Developer의 상단에 보면 도구라는 항목..
2021.02.27 -
2021-02-26 - 정의 집합론에서, 곱집합(곱集合, 영어: product set , product) 또는 데카르트 곱(Descartes곱, 영어: Cartesian product 카티지 언 프로덕트)은 각 집합의 원소를 각 성분으로 하는 튜플들의 집합이다. (출처 : 위키백과) 말은 굉장히 거창하고 어려워 보인다. 하지만 위의 이미지를 한 번 보자. A를 구성하는 집합은 (x, y, z) B를 구성하는 집합은 (1, 2, 3)인 것을 확인할 수 있다. 이후 이 둘은 곱하면 이 두 집합 간 구성원들이 만날 수 있는 모든 경우의 수로 새로운 테이블을 만들어지는 것을 확인할 수 있다. - 예제 이제 SQL 내부에서의 카티션 프로덕트를 알아보자. 우선 곱하기 위해 준비한 두 가지의 테이블을 보자 ( 아래 ..
[Oracle SQL] SQL 카티션 프로덕트(Cartesian Product)2021-02-26 - 정의 집합론에서, 곱집합(곱集合, 영어: product set , product) 또는 데카르트 곱(Descartes곱, 영어: Cartesian product 카티지 언 프로덕트)은 각 집합의 원소를 각 성분으로 하는 튜플들의 집합이다. (출처 : 위키백과) 말은 굉장히 거창하고 어려워 보인다. 하지만 위의 이미지를 한 번 보자. A를 구성하는 집합은 (x, y, z) B를 구성하는 집합은 (1, 2, 3)인 것을 확인할 수 있다. 이후 이 둘은 곱하면 이 두 집합 간 구성원들이 만날 수 있는 모든 경우의 수로 새로운 테이블을 만들어지는 것을 확인할 수 있다. - 예제 이제 SQL 내부에서의 카티션 프로덕트를 알아보자. 우선 곱하기 위해 준비한 두 가지의 테이블을 보자 ( 아래 ..
2021.02.26 -
2021-02-23 - 정의 외래 키(FOREIGN KEY) 외래 키는 다른 릴레이션(테이블)의 기본키(PRIMARY KEY)를 참조하는 칼럼(속성) 또는 이러한 속성들의 집합이다. 여기서의 외래 키 값은 참조하고 있는 릴레이션의 기본키에 없는 내용을 참조할 수 없으며, NULL 값을 가질 수 있다. 이를 참조 무결성(Referential Integrity)이라고 한다. 이러한 외래 키는 다른 릴레이션과의 관계를 표현할 때 사용한다. 오늘은 이와같은 외래 키를 선언하는 방법을 알아보도록 하자. - 예제( 참조할 기본키가 있는 테이블 ) CREATE TABLE CLIENTINFO ( NAME VARCHAR2(20), AGE NUMBER -- 나이는 0 보다 크고 150 보다는 작다 CONSTRAINT CH..
[Oracle SQL] 오라클 외래 키(FK) 정의와 사용법 알아보기.2021-02-23 - 정의 외래 키(FOREIGN KEY) 외래 키는 다른 릴레이션(테이블)의 기본키(PRIMARY KEY)를 참조하는 칼럼(속성) 또는 이러한 속성들의 집합이다. 여기서의 외래 키 값은 참조하고 있는 릴레이션의 기본키에 없는 내용을 참조할 수 없으며, NULL 값을 가질 수 있다. 이를 참조 무결성(Referential Integrity)이라고 한다. 이러한 외래 키는 다른 릴레이션과의 관계를 표현할 때 사용한다. 오늘은 이와같은 외래 키를 선언하는 방법을 알아보도록 하자. - 예제( 참조할 기본키가 있는 테이블 ) CREATE TABLE CLIENTINFO ( NAME VARCHAR2(20), AGE NUMBER -- 나이는 0 보다 크고 150 보다는 작다 CONSTRAINT CH..
2021.02.23 -
2021-02-22 - 단축키 모음 ( SQL ) CTRL + S : SQL 워크시트 파일 저장 CTRL + F : 검색 CTRL + C : 선택된 행 복사 CTRL + F : 검색(특정 단어 클릭후 해당 단축키 누르면 모두 검색됨) CTRL + SHIFT + D : 위의 한행 복사 붙여 넣기 ALT + SHIFT + D : 한 줄 삭제 CTRL + F7 : 선택된 영역 정렬 CTRL + R : 테이블 새로고침(테이블 선택하고) TAB : 내어쓰기 SHIFT + TAB : 들어 쓰기 CTRAL + A : 전체선택 ALT + F10 : 데이터베이스 접속 선택창 생성 CTRL + SHIFT + D (스크립트 출력 클릭후) : 스크립트 출력창 지우기 ( 추가적인 유용한 단축키 발견시 게시글 지속 수정 예정)
[Oracle SQL] 오라클 유용한 단축키 알아보기.2021-02-22 - 단축키 모음 ( SQL ) CTRL + S : SQL 워크시트 파일 저장 CTRL + F : 검색 CTRL + C : 선택된 행 복사 CTRL + F : 검색(특정 단어 클릭후 해당 단축키 누르면 모두 검색됨) CTRL + SHIFT + D : 위의 한행 복사 붙여 넣기 ALT + SHIFT + D : 한 줄 삭제 CTRL + F7 : 선택된 영역 정렬 CTRL + R : 테이블 새로고침(테이블 선택하고) TAB : 내어쓰기 SHIFT + TAB : 들어 쓰기 CTRAL + A : 전체선택 ALT + F10 : 데이터베이스 접속 선택창 생성 CTRL + SHIFT + D (스크립트 출력 클릭후) : 스크립트 출력창 지우기 ( 추가적인 유용한 단축키 발견시 게시글 지속 수정 예정)
2021.02.22 -
2021-02-20 기존의 기본키가 정해진 테이블에 기본키를 삭제해야 하거나 변경을 해야 하는 경우가 있는데, 이럴 경우 어떠한 방식으로 해당 기본키를 삭제하고 재설정할 수 있는지 알아보도록 하자. - 예제 기존의 기본키를 생성하던 테이블을 다시 재활용하여 사용하겠다. CREATE TABLE INFO ( INFONO NUMBER CONSTRAINT PKINFONO PRIMARY KEY, NAME VARCHAR2(10), AGE NUMBER ); 기존의 예제와 다른 점은 CONSTRAINT 키워드가 추가된 점이다. 이는 제약조건에 명시적인 이름을 부여함으로써 선언된 제약조건을 조금 더 쉽게 관리할 수 있도록 도움을 주게 된다. 사용방법으로는 제약조건을 적용하기 전 제일 앞에 CONSTRAINT를 붙여준 후..
[Oracle SQL] 오라클 기본키의 삭제 수정 하는 방법2021-02-20 기존의 기본키가 정해진 테이블에 기본키를 삭제해야 하거나 변경을 해야 하는 경우가 있는데, 이럴 경우 어떠한 방식으로 해당 기본키를 삭제하고 재설정할 수 있는지 알아보도록 하자. - 예제 기존의 기본키를 생성하던 테이블을 다시 재활용하여 사용하겠다. CREATE TABLE INFO ( INFONO NUMBER CONSTRAINT PKINFONO PRIMARY KEY, NAME VARCHAR2(10), AGE NUMBER ); 기존의 예제와 다른 점은 CONSTRAINT 키워드가 추가된 점이다. 이는 제약조건에 명시적인 이름을 부여함으로써 선언된 제약조건을 조금 더 쉽게 관리할 수 있도록 도움을 주게 된다. 사용방법으로는 제약조건을 적용하기 전 제일 앞에 CONSTRAINT를 붙여준 후..
2021.02.20 -
2021-02-19 - 정의 기본키는 테이블을 구성하는 여러 후보 키들 중에서 선택되어 테이블의 각 튜플(행 / 데이터)을 식별하는 역할을 하게 된다. 여기서 기본키는 UNIQUE이기 때문에 유일성이라는 특징을 가지고 있으며, 또한 NOT NULL의 속성도 가지고 있어 NULL의 값도 허용하지 않는다. 오늘은 이러한 기본키를 선언하는 방법을 알아보자. - 방법 1 CREATE 첫번째 방법은 테이블의 선언과 동시에 기본키를 부여 (설정) 하는 방법이다. -- 컬럼선언과 함께 기본키 설정 CREATE TABLE INFO ( INFONO NUMBER PRIMARY KEY, NAME VARCHAR2(10), AGE NUMBER ); ------------------------------- DROP TABLE I..
[Oracle SQL] 오라클 기본키의 정의와 선언하는 방법2021-02-19 - 정의 기본키는 테이블을 구성하는 여러 후보 키들 중에서 선택되어 테이블의 각 튜플(행 / 데이터)을 식별하는 역할을 하게 된다. 여기서 기본키는 UNIQUE이기 때문에 유일성이라는 특징을 가지고 있으며, 또한 NOT NULL의 속성도 가지고 있어 NULL의 값도 허용하지 않는다. 오늘은 이러한 기본키를 선언하는 방법을 알아보자. - 방법 1 CREATE 첫번째 방법은 테이블의 선언과 동시에 기본키를 부여 (설정) 하는 방법이다. -- 컬럼선언과 함께 기본키 설정 CREATE TABLE INFO ( INFONO NUMBER PRIMARY KEY, NAME VARCHAR2(10), AGE NUMBER ); ------------------------------- DROP TABLE I..
2021.02.19 -
2021-02-18 DB 사용간 하나의 워크시트 이외에 다른 워크시트가 필요할 경우가 간간히 있는데, 오늘은 추가적인 워크시트를 만드는 방법을 알아보자. - 신규 워크시트 초기에 시작페이지를 닫은 후 아무것도 없는 화면일 경우가 있는데, 그럴 경우 단순히 자신이 사용하고자 하는 DATABASE를 더블클릭해주면 곧 바로 새로운 워크시트가 생성된다. - 새로운 워크시트 기존의 워크시트에서 사용하는 데이터베이스 이외의 추가적인 데이터 베이스가 있다면 마찬가지로 더블클릭하면 워크시트가 생성된다. 다만 하나의 데이테 베이스를 사용하는데, 이 데이터베이스의 워크시트를 추가적으로 만들고 싶은 경우가 있을 수가 있는데, 이경우도 간단히 해결이 가능하다. 방법은 아래와 같다. 기존에 사용하던 데이터베이스를 우클릭 하면 ..
[Oracle SQL] 오라클 새로운 워크시트 만드는 방법2021-02-18 DB 사용간 하나의 워크시트 이외에 다른 워크시트가 필요할 경우가 간간히 있는데, 오늘은 추가적인 워크시트를 만드는 방법을 알아보자. - 신규 워크시트 초기에 시작페이지를 닫은 후 아무것도 없는 화면일 경우가 있는데, 그럴 경우 단순히 자신이 사용하고자 하는 DATABASE를 더블클릭해주면 곧 바로 새로운 워크시트가 생성된다. - 새로운 워크시트 기존의 워크시트에서 사용하는 데이터베이스 이외의 추가적인 데이터 베이스가 있다면 마찬가지로 더블클릭하면 워크시트가 생성된다. 다만 하나의 데이테 베이스를 사용하는데, 이 데이터베이스의 워크시트를 추가적으로 만들고 싶은 경우가 있을 수가 있는데, 이경우도 간단히 해결이 가능하다. 방법은 아래와 같다. 기존에 사용하던 데이터베이스를 우클릭 하면 ..
2021.02.18