DATABASE(oracleDB 11g) 100

[SQL]width_bucket함수

width_bucket함수 width_bucket( 지정값, 최소값, 최대값, bucket개수 )의 형식으로 사용한다. 지정값을 최소값과 최대값 기준으로 bucket의 개수 만큼 나누어주고 그 등급만큼 할당하여 준다. 입사일 기준으로 근속연수에 따라 30 등급으로 나누고 등급에 따라 1000의 수당을 준다. 2000년 1월 1일 기준. (수당으로 내림차순) 1234select employee_id 사번, last_name 이름, salary 연봉, width_bucket(hire_date, sysdate, '01/01/2000', 30)*1000 수당from employeesorder by 수당 desc;Colored by Color Scriptercs SQL을 배운지 얼마 되지 않아 잘못된 내용이 있을..

[SQL]일반 함수 기초

일반 함수 기초 조건문1. NVL (expr1, expr2)if expr1 is not null then expr1 else expr2사용할 수 있는 데이터 유형은 날짜, 문자 및 숫자.데이터 유형이 일치해야 한다.다음 예시를 참고하자.12345select employee_id, salary, NVL(commission_pct,0.1), NVL(salary*commission_pct, salary*0.1)from employees; select employee_id, salary, NVL(commission_pct,0.1), salary*NVL(commission_pct,0.1)from employees;Colored by Color Scriptercs 2. NVL2 (expr1, expr2, expr3..

[SQL]변환함수

변환함수 데이터 유형 변환에는 암시적 데이터 유형변환과 명시적 데이터 유형변환이 있다.Oracle 서버는 표현식에서VARCHAR2 or CHAR을 NUMBER로 또는 DATE로 자동으로 변환할 수 있다.그리고 표현식 평가 시 NUMBER or DATE를 VARCHAR2로 또는 CHAR로 자동으로 변환할 수 있다. 즉 다음 예시를 참고하면12345select upper(1)from dual; select upper(sysdate)from dual;cs이와 같은 경우 1과 sysdate는 CHAR로 변환된다. 다음은 날짜에 TO_CHAR함수를 쓰는 유효한 날짜 형식으로의 변환의 예시이다.12select to_char(sysdate, 'YYYY/MM/DD')from dual;cs 12select to_char..

[SQL]function 기초

function 기초 arguments 를 fx로 input해서 output을 던져준다.단일 행 함수는 하나의 row의 값을 input해서 output 하는 것을 말한다.다중 행 함수는 여러개의 row값음을input해서 output 하는 것을 말한다. 타입별로 사용할 수 있는 함수, 여러 타입에 범용적으로 사용할 수 있는 함수 otn.oracle.com 에서 software download에 들어가면 원하는 소프트웨어를 다운 받을 수 있다.(상업적 이용 불가.)또한 documentation에서 메뉴얼을 참고할 수 있다. 문자함수 대소문자 변환 함수함수결과 LOWER('TEST Example') test example UPPER('TEST Example') TEST EXAMPLE INITCAP('TEST ..

[SQL]DEFINE 및 VERIFY 명령

DEFINE 및 VERIFY 명령 DEFINE은 tool을 빠져나갈때까지 변수를 Assign해준다.UNDEFINE은 DEFINE된 변수를 제거해준다. 다음 예시를 참고하자.12345DEFINE employee_num = 200SELECT employee_id, last_name, salary, department_idFROM employeesWHERE employee_id = &employee_num ;UNDEFINE employee_numColored by Color Scriptercs 이중치환의 경우 자동적으로 DEFINE이 된다. DEFINE명령어만 입력할 경우 DEFINE된 변수를 보여준다. VERIFY는 치환 변수를 값으로 바꾸기 전후에 치환 변수의 표시를 토글한다. 1show verifycs를..

[SQL]치환 변수와 바인드 변수

치환 변수와 바인드 변수 치환변수매번 수행할때마다 내가 입력한 값으로 명령어를 수행하는 것을 말한다. 치환 변수를 사용하여 다음을 수행할 수 있다.– 단일 앰퍼샌드(&) 및 이중 앰퍼샌드(&&) 치환을 사용하여 값을 임시로 저장. 치환 변수를 사용하여 다음을 보완할 수 있다.– WHERE 조건– ORDER BY 절– 열 표현식– 테이블 이름– 전체 SELECT 문 다음예시를 참고123select *from employeeswhere department_id=&V_depart;csc언어를 생각한다면, input을 생각하면 이해하기 쉽다.기본적으로 변수는 '&V_내용' 으로 작성한다.날짜및 문자는 ''를 반드씨 써서 감싸주도록 한다. 유저가 매번 값을 입력할 필요 없이 변수 값을 재사용하려는 경우 이중 앰퍼..

[SQL]ORDER BY의 기초

ORDER BY의 기초 ORDER BY 절은 검색된 행을 정렬할때 사용한다. ASC(Ascending) : 오름차순(기본값)DESC(Descending) : 내림차순#describe와 헷갈리지 말자ORDER BY 절은 SELECT 문의 맨 마지막에 온다. 구문은 다음과 같다1234SELECT exprFROM table[WHERE condition(s)][ORDER BY {column, expr, numeric_position} [ASC|DESC]];cs 다음 예시를 참고하자. 123SELECT last_name, job_id, department_id, hire_dateFROM employeesORDER BY hire_date ASC;csASC는 쓰지 않아도 기본값이므로 무방하다. 123select em..

[SQL]WHERE의 기초

기본적인 WHERE절 문법 SELECT *|{[DISTINCT] column|expression [alias],...}FROM table[WHERE condition(s)]; 조건(condition(s))이 true인 경우에 해당 조건을 충족하는 행이 반환됨.이때 조건에 문자열 및 날짜 값이 들어갈 경우 ''으로 묶는다문자값은 대소문자를 구분, 날짜는 형식을 구분(기본적으로 DD-MON-RR) 연산자의 종류+ - * / 산술= = 비교not and or 논리 비교연산자연산자 의미 = 같음 > 초과 >= 이상 3000; select * from employeeswhere department_id = 90 and salary > 3000and job_id = 'AD_VP'; Colored by Col..

[SQL]기본적인 SELECT 문

기본적인 SELECT 문 12SELECT *|{[DISTINCT] column|expression [alias],...}FROM table;Colored by Color Scriptercs의 문법을 따른다. 12select *from employees;cs*은 모든 열을 표시하는 것을 말한다. 12345select department_name, department_id, manager_id, location_idfrom departments;cs,을 통해 내가 원하는 열을 표시할 수 있다. 1234select last_name, salary, salary+100from employees;cs산술 연산자를 이용해서 숫자를 산술 연산할 수 있다. 단 문자열은 산술연산자를 사용할 수 없다. 1234select..