반응형

쿼리 29

[Oracle] 제약 조건(6) - 디폴트(DEFAULT)

이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 디폴트(DEFAULT) 설명 DEFAULT는 테이블에 데이터가 INSERT될 때 아무런 값이 입력되지 않을 경우 입력되는 기본값을 설정해 주는 제약 조건이다. 문법 CREATE TABLE [테이블 이름]( (다른 열 정의 문법 생략), [열 이름] [열 자료형] DEFAULT [기본값으로 설정할 값] ); 사용 예시 1. TB_SHOP_MEMBER 테이블에 회원 정보가 INSERT 될 시 COL_POINT 데이터가 입력되지 않으면 0으로 설정 CREATE TABLE TB_SHOP_MEMBER( COL..

[Oracle] DML(7) - DELETE

이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 DELETE 아래 테이블이 없다면 여기를 클릭하여 테이블을 생성하고 돌아오자. SELECT * FROM TB_EMP2; 설명 데이터 레코드를 삭제할 때 사용하는 명령어. UPDATE와 마찬가지로 WHERE절을 사용하지 않을 경우 테이블의 전체 데이터가 모두 삭제되니 주의를 요함 사용 형태 DELETE FROM [대상 테이블] WHERE [대상 행을 선별할 조건] 사용 예시 SELECT * FROM TB_EMP2; -- 테이블 확인 -- JOB이 CLERK인 직원 삭제 DELETE FROM TB_EMP..

[Oracle] 서브쿼리(2) - 단일행 서브쿼리

이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 단일행 서브쿼리 이전 포스트에서 SCOTT보다 봉급이 높은 직원을 구하는 서브쿼리를 실행해 보았다. 하지만 이 쿼리에는 하나의 문제점이 있다. 우리는 앞서 SCOTT의 봉급을 구하는 쿼리로 3000이라는 하나의 레코드가 나오는 것을 확인하였기 때문에 이 쿼리에 어떠한 의심도 갖지 않는다. 즉, 우리는 SCOTT라는 이름을 가진 직원이 한 명인 것을 전제로 쿼리문을 실행한 것이다. 아래 쿼리문을 살펴보자. SELECT ENAME, SAL FROM EMP WHERE SAL >= 3000; 봉급(SAL)이..

[Oracle] JOIN(1) - JOIN의 기본 개념과 목적

이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 JOIN의 기본 개념과 목적 설명 JOIN은 두 개 이상의 테이블을 연결하여 하나의 테이블처럼 출력할 때 사용하는 방식. 개발자라면 정말 많이 접할 수밖에 없는 개념 중 하나임 사용 예시 SELECT * FROM EMP, DEPT ORDER BY EMPNO; 위 쿼리를 실행하면 아래와 같은 결과가 출력된다. 데이터는 출력되지만 맞아떨어지지 않는 데이터로 조합되어 출력되는 것이다. 이런 상황에서 JOIN을 사용하면 의미 있는 정보화를 할 수 있다. SELECT * FROM EMP, DEPT WHERE ..

[Oracle] 데이터 그룹화(4) - GROUPING(), GROUPING_ID()

이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 GROUPING(), GROUPING_ID() 설명 GROUPING() : ROLLUP() 또는 CUBE() 함수를 사용한 GROUP BY절에 그룹화 대상으로 지정한 열이 그룹화된 상태로 결과가 집계되었는지 확인하는 데 사용하는 함수. GROUP BY절에 명시된 열 중 하나를 지정할 수 있음 GROUPING_ID() : ROLLUP() 또는 CUBE() 함수를 사용한 GROUP BY절에 그룹화 대상으로 지정한 열이 그룹화된 상태로 결과가 집계되었는지 확인하는 데 사용하는 함수. GROUPING() 함..

[Oracle] 데이터 그룹화(3) - GROUPING SETS()

이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 GROUPING SETS() 설명 GROUPING SETS() : 같은 수준의 그룹화 열이 여러 개일 때 각 열별 그룹화를 통해 결과값을 출력하는 데 사용하는 함수. 지정한 모든 열을 각각 대그룹으로 처리하여 출력. 문법 SELECT ... FROM ... WHERE ... GROUP BY GROUPING SETS(열1, 열2, ... , 열n) ORDER BY ... 사용 예시 SELECT DEPTNO, JOB, COUNT(*) FROM EMP GROUP BY GROUPING SETS(DEPTNO,..

[Oracle] 데이터 그룹화(2) - ROLLUP(), CUBE()

이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 ROLLUP(), CUBE() 설명 ROLLUP() : 그룹화 데이터의 합계를 함께 출력하는 데 사용하는 함수. 다음과 같이 출력됨 1. A 그룹별 B 그룹별 C 그룹에 해당하는 결과 출력 2. A 그룹별 B 그룹에 해당하는 결과 출력 3. A 그룹에 해당하는 결과 출력 4. 전체 데이터 결과 출력 CUBE() : ROLLUP()과 마찬가지로 그룹화 데이터의 합계를 함께 출력하는 데 사용하는 함수. 다음과 같이 출력됨 1. A 그룹별 B 그룹별 C 그룹에 해당하는 결과 출력 2. A 그룹별 B 그룹의..

[Oracle] 다중행 함수(4) - AVG()

이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 AVG() 설명 지정한 데이터의 평균값 반환 문법 AVG([DISTINCT/ALL(선택)], [평균값을 구할 열/연산자/함수를 사용한 데이터(필수)]) [OVER(분석을 위한 문법)(선택)] 사용 예시 -- AVG query1 SELECT AVG(SAL) FROM EMP WHERE DEPTNO = 30; -- AVG query2 SELECT AVG(DISTINCT SAL) FROM EMP WHERE DEPTNO = 30; 결과 -- AVG query1 -- AVG query2

[Oracle] 다중행 함수(2) - COUNT()

이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 COUNT() 설명 지정한 데이터의 개수 반환. NULL데이터는 개수에서 제외됨. 문법 COUNT([DISTINCT/ALL(선택)], [개수를 구할 열/연산자/함수를 사용한 데이터(필수)]) [OVER(분석을 위한 문법)(선택)] 사용 예시 -- COUNT query1 SELECT COUNT(*) FROM EMP; -- COUNT query2 SELECT COUNT(*) FROM EMP WHERE DEPTNO = 30; -- COUNT query3 SELECT COUNT(DISTINCT SAL) , ..

[Oracle] 다중행 함수(1) - SUM()

이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 SUM() 설명 지정한 데이터의 합 반환. 계산 시 NULL 값은 알아서 제외함. 문법 SUM([DISTINCT/ALL(선택)], [합계를 구할 열/연산자/함수를 사용한 데이터(필수)]) [OVER(분석을 위한 문법)(선택)] 사용 예시 -- SUM query1 SELECT SAL FROM EMP; -- SUM query2 SELECT SUM(SAL) FROM EMP; -- SUM query3 SELECT ENAME, SUM(SAL) FROM EMP; -- SUM query4 SELECT SUM(DI..

반응형