반응형

sql 11

[DataBase] Oracle SQL - DCL (데이터 제어어) GRANT / REVOKE

데이터 제어어(Data Control Language)는 말 그대로 데이터를 제어하기 위한 언어이다. 이 데이터 제어어에는 권한을 관리하기위한 GRANT / REVOKE 등의 언어가 있다. 권한에는 시스템 권한과 객체 권한이 있는데 각 권한별로 권한을 어떻게 부여하고 회수하는지 알아보자. 1. 시스템 권한 -오라클 데이터베이스의 시스템 권한은 사용자 생성과 정보 수정 및 삭제, 데이터베이스 접근, 오라클 데이터베이스의 여러 자원과 객체 생성 및 관리 등의 권한을 포함한다. - 데이터베이스 접속, 사용자 및 오브젝트 생성 등 기본적으로 다음과 같은 권한들이 있다. 시스템 권한 분류 시스템 권한 설명 USER (사용자) 관련 권한 CREATE USER 사용자 생성 권한 ALTER USER 생성된 사용자의 정..

[DataBase] Oracle SQL - DML (데이터 조작어) SELECT / INSERT / UPDATE / DELETE

SQL에서 가장 많이 쓰이는 DML에 대해 알아보자. DML (Data manipulation language) - 데이터 조작어 - 데이터를 조작하는데 사용되는 언어 - SELECT : 선택 - INSERT : 삽입 - UPDATE : 수정 - DELETE : 삭제 1.SELECT SELECT문은 앞에서 다루었기 때문에 이전 포스팅을 참고하기 바란다. 또한 사용되는 여러 함수들도 이전 포스팅을 참고하면 되겠다. 2021/02/02 - [Database/개념정리] - [DataBase] Oracle SQL 기본 문법 - 1 (SELECT, FROM) [DataBase] Oracle SQL 기본 문법 - 1 (SELECT, FROM) 위의 예시 테이블을 이용하여 기본 문법을 알아보도록 하자. 1. SELE..

[DataBase] Oracle SQL - DDL (데이터 정의어) CREATE / ALTER / DROP / RENAME / TRUNCATE

데이터 정의어 (DDL: Data Definition Language) - 데이터베이스는 데이터 관리 및 보관을 위해 다양한 객체를 제공한다. 이러한 객체를 새로 만들거나 기존에 존재하던 객체를 변경하거나 삭제하는 등의 기능을 수행하는 명령어를 데이터 정의어라고 한다. DDL 의 종류 - CREATE : 객체를 생성 - ALTER : 이미 생성된 객체를 변경 - DROP : 객체를 삭제 - RENAME : 이름 변경 - TRUNCATE : 데이터 삭제 1. CREATE - CREATE [계정].[테이블] ([열이름] [자료형] [제약조건] , [열2이름] [자료형2] [제약조건2], ... ); - 소유계정이름을 생략하고 CREATE TABLE 명령어를 사용하면 현재 접속해 있는 계정 소유의 테이블이 만..

[DataBase] Oracle SQL 집합 연산자 UNION / UNION_ALL / MINUS / INTERSECT

집합연산자 - 열의 개수와 순서가 모든 쿼리에서 동일해야 한다. - 데이터 형식이 호환되어야 한다. - SELECT (열) FROM (테이블) WHERE (조건) [집합연산자] SELECT (열) FROM (테이블) WHERE (조건) UNION : 연결된 SELECT문의 결과 값을 합집합으로 묶어 준다. 결과 값의 중복은 제거된다. UNION ALL : 연결된 SELECT문의 결과 값을 합집합으로 묶어 준다. 중복된 결과 값도 제거 없이 모두 출력 된다. MINUS : 먼저 작성한 SELECT문의 결과 값 중 다음 SELECT 문에 존재하지 않는 데이터만 출력된다. (차집합) INTERSECT : 먼저 작성한 SELECT문과 다음 SELECT 문의 결과 값이 같은 데이터만 출력된다. (교집합) 위 4개..

[DataBase] Oracle SQL 내장 함수 - 5 (형 변환 함수 2) DECODE / CASE

1. DECODE 함수 - 특정 열 값이나 데이터 값에 따라 어떤 데이터를 반환할 지 정할 때 사용 - DECODE( [검사 대상이 될 열 또는 데이터, 연산이나 함수의 결과], [조건1], [데이터가 조건 1과 일치할 때 반환할 결과], [조건2], [데이터가 조건 2과 일치할 때 반환할 결과], .... [조건n], [데이터가 조건 n과 일치할 때 반환할 결과], [위 조건들에 부합하는 경우가 없을 때 반환할 결과] ) - 즉 DECODE( 컬럼, 조건1, 결과1, 조건2, 결과2, ... 조건n, 결과n, 예외 ) 라고 할 수 있다. EMP 테이블에서 1) 직책이 MANAGER인 사람은 급여의 10% 인상 2) SALESMAN인 사람은 급여의 5% 인상 3) ANALYST인 사람은 그대로 4) 나머..

[DataBase] Oracle SQL 다중 행 함수(그룹 함수) 와 데이터 그룹화 - SUM/AVG/COUNT/MAX/MIN/GROUP BY/HAVING

다중 행 함수란 여러 데이터들이 하나의 함수에 들어가 하나의 결과값을 반환하는 함수를 의미한다. 따라서 다중 행 함수를 사용한 SELECT 절에는 기본적으로 여러 행이 결과로 나올 수 있는 열을 함께 사용할 수 없다. 이 다중행 함수의 종류에 대해 알아보자. SUM 함수 - 지정한 데이터의 합 반환 - SUM( [DISTINCT, 또는 ALL 또는 아무값도 지정하지 않음] [합계를 구할 열이나 연산자, 함수를 사용한 데이터] ) select sum(distinct sal), sum(all sal), sum(sal) from emp; 중복을 제외한 급여의 합, 모든 급여의 합, 급여의 합이 차례로 구해지는 것을 볼 수 있다. AVG 함수 - 지정한 데이터의 평균값 반환 - AVG( [DISTINCT, 또는..

[DataBase] Oracle SQL 내장 함수 - 4 (형 변환 함수) TO_CHAR / TO_NUMBER / TO_DATE / NVL

형 변환 함수 - 각 데이터에 지정된 자료형을 바꾸어 주는 함수를 형 변환 함수라고 한다. select empno, ename, empno + '500' from emp where ename = 'SMITH'; 위와 같이 empno (숫자) 와 '500'(문자열) 을 더한 값을 출력했는데 값이 7869로 정확하게 나왔다. 이는 자동 형 변환이라고 불리는 암시적 형 변환이 발생했기 때문이다. 숫자처럼 생긴 문자 데이터는 숫자 데이터로 암시적 형 변환이 일어나지만 그 외의 경우에는 잘 동작하지 않는다. select 'ABCD' + empno, empno from emp where enmae = 'SMITH'; 이외에 사용자가 직접 자료형을 지정해 주는 명시적 형 변환 방법이 있다. 1. TO_CHAR 함수 ..

[DataBase] Oracle SQL 내장 함수 - 3 (날짜 함수) ADD_MONTHS / MONTH_BETWEEN / NEXT_DAY / LAST_DAY

1. ADD_MONTHS - 몇 개월 이후 날짜를 구하는 함수 - ADD_MONTHS( [날짜 데이터] , [더할 개월 수] ) select sysdate, add_months(sysdate,3) from dual; SYSDATE 는 현재 날짜를 의미한다. select hiredate, add_months(hiredate, 120) as "10주년" from emp; 위와 같이 칼럼을 불러와 입사 10주년 날짜를 구할 수도 있다. 2. MONTH_BETWEEN 함수 - MONTH_BETWEEN( [기준 날짜] , [뺄 날짜] ) - 두 날짜 간의 개월 수 차이를 구하는 함수 select hiredate, sysdate, months_between(hiredate,sysdate) from emp; 고용일로..

[DataBase] Oracle SQL 내장 함수 - 2 (숫자 함수) ROUND / TRUNC / CEIL / FLOOR / MOD

1. ROUND 함수 - 특정 위치에서 반올림하는 함수 - ROUND( [숫자] , [반올림 위치] ) select round(123.123, 2),round(123.123, 1),round(123.123, 0),round(123.123, -1) from dual; 2. TRUNC 함수 - 특정 위치에서 버리는 함수 (내림) - TRUNC( [숫자] , [버릴 위치] ) select trunc(123.123, 2),trunc(123.123, 1),trunc(123.123, 0),trunc(123.123, -1) from dual; 3. CEIL, FLOOR 함수 - 지정한 숫자와 가까운 정수를 찾는 함수 - CEIL( [숫자] ) : 지정한 숫자와 가까운 큰 정수 - FLOOR( [숫자] ) : 지정한 ..

[DataBase] Oracle SQL 내장 함수 - 1 (문자 함수) UPPER / LOWER / INITCAP / SUBSTR / LENGTH / INSTR / REPLACE / LPAD / RPAD / CONCAT

SQL 내장 함수에는 여러 가지 종류가 있다. 이번에는 그 중에서 문자 함수에 대해 다뤄보도록 한다. 1. 대 소문자를 바꿔주는 UPPER, LOWER, INITCAP 함수 UPPER(문자열) : 괄호 안 문자 데이터를 모두 대문자로 변환하여 반환 LOWER(문자열) : 괄호 안 문자 데이터를 모두 소문자로 변환하여 반환 INITCAP(문자열) : 괄호 안 문자 데이터 중 첫 글자는 대문자로, 나머지 문자를 소문자로 변환 후 반환 select ename, upper(ename), lower(ename), initcap(ename) from emp; 예시 테이블에서 문자함수를 이용하여 사원들의 이름을 각각 대문자, 소문자, 첫글자만 대문자로 바꿀 수 있다. 2. 문자열 일부를 추출하는 SUBSTR 함수 -..

반응형