본문 바로가기

SQL

(31)
7. 일반함수(1) 1. nvl, nvl2 : null 치환 함수 1) nvl, nvl2 ** 사용법 (1) nvl(대상, 치환값) - 대상과 치환값의 데이터 타입이 일치해야 함(단, 첫번째 인수의 데이터 타입이 최종 데이터 타입이 됨) select ename, sal, comm,         sal+comm as 총급여1,        sal + nvl(comm,0) as 총급여2   from EMP;다음 결과를 볼 수 있는데 아래 결과를 살펴보자. select sal, comm, nvl(comm, '보너스없음')   from emp;  이유는 comm의 데이터 타입이 숫자인데 null값에 '보너스없음'이라는 문자를 채워넣을 수 없음. select ename, sal, comm,        sal+comm as 총급여..
6. 문자열 함수(2) 1. replace와 translate1) replace : 단어 치환 삭제 ** 사용법 : replace(대상,찾을단어[,바꿀단어]) 2) translate : 글자 치환 삭제 ** 사용법 : translate(대상,찾을문자열,바꿀문자열) - 찾을문자열과 바꿀문자열 글자별로 매핑하여 치환 - 찾을문자열 길이 - 찾을문자열 길이 > 바꿀문자열 길이 : 바꿀문자열에 빈문자열 전달 시 모든 글자 삭제됨 - 바꿀문자열 생략 불가 예제1) select replace('abcba','ab','AB'),   --ABcba        translate('abcba','ab','AB')      --ABcBA   from dual;     select translate('abcba','ab','ABC'), --ABc..
5. 문자열 함수(1) 1.  함수의 정의- input value(인수) 와 output value 와의 관계를 표현하는 객체 - 대체적으로 하나 이상의 input value(인수) 필요 - (인수가 없는 함수도 존재)  ex) sysdate - 반드시 output value return - 사용자가 직접 정의하여 사용 가능(PL/SQL) - from 절을 사용한 모든 select 문의 절에서 사용 가능\  2. 함수의 종류1) 인수의 결과값의 매칭수에 따라 - 단일행 함수 : 한쌍의 인수에 대칭되는 하나의 결과값이 리턴되는 형태의 함수   ex) upper('abcd')  -> 'ABCD' - 다중행 함수(그룹함수) : 여러 행의 데이터가 하나의 결과로 리턴되는 형태의 함수   ex) sum(sal), max(sal), mi..
4. 연결연산자(||), 논리연산자 1.  연결연산자(||)- 분리된 문자열을 결합(연결)하여 하나로 표현하기 위해 사용 - 문자열과 문자열 사이에 삽입 select 'ab' || 'cd' from dual ; select 'ab' || 'cd' ||'12' from dual ; 예제1) emp에서 모든 직원의 사번과 이름을 7369_SMITH 형태로 출력 // 문자의 범주에 _(언더바) 포함된다. 쌍따옴표 붙일 필요 없다. sol)select empno||'_'||ename as 사번_이름   from emp;이러한 식으로 내용이 합쳐져서 출력되는걸 알 수 있다. 예제2) emp에서 각 직원의 정보를 아래와 같이 출력     ( SMITH의 10% 인상된 급여는 880입니다.)sol)select ename || '의 10% 인상된 급여는..
3. Order by 절, 중복행 제거 1. 성질- 정렬 - 오름차순, 내림차순 정렬 순서 전달 가능( 기본 : 오름차순 ) - 정렬을 수행하지 않으면 데이터의 입력 순서대로 출력 - order by 절에 컬럼을 나열하여 1차정렬, 2차정렬, 3차정렬 ... 가능 - 각 컬럼별로 정렬순서 전달 가능(asc: 오름차순 | desc: 내림차순) 예제) student 테이블에서 모든 학생의 이름, 학년, 키를 출력하되, 학년별로 키가 큰 순서대로 출력(단, 4학년부터 출력) select name, grade, height   from student   order by grade desc, height desc ;   출력하면다음과 같은 결과를 얻을 수 있다.  2. 컬럼 별칭을 사용한 정렬  2-1) 별칭 또는 컬럼명을 섞어서 정렬해도 가능하다. ..
2. 계정 접속과 권한 1. DB 계정 - DB 접속 시 데이터 권한 통제하기 위해 접속가능한 사용자 구분 - 관리자 계정(SYS: SYS가 더 권한이 높다. - SYSTEM 계정으로는 객체(테이블, 계정, 인덱스 등)에 대한 관리(생성, 변경, 삭제 등) - SYS 계정으로는 DBMS 작업(DB 기동, 중지, 백업 등) - 계정별로 소유 테이블 존재, 일반적으로 다른 계정 소유의 테이블을 조회, 수정 불가 -  (권한 부여 시 다른 계정 소유의 테이블에 대한 조회 및 수정 가능) 1-1) system 계정으로 접속 시 select * from EMPLOYEES ;    -- 조회 불가(테이블 소유자가 다름) select * from HR.EMPLOYEES ; -- 조회 가능  -- if 자기 자신 테이블 조회 시 소유자를 쓸..
1. Select ~ From 1. 접속 클라이언트 Orange 이용 [ orange 단축키 ]  ctrl + - : 주석처리 (범위 잡고 한방에 가능)  ctrl + shift + - : 주석해제  ctrl + enter : 명령어 실행(한 쿼리)  F5 : 모든 명령어 실행  ctrl + shift + U : 대문자 변환  ctrl + U : 소문자 변환  ctrl + shift + f : 자동 줄맞춤(범위 잡고 실행)  ctrl + n : 새접속  ctrl + s : 저장  ctrl + o : 파일 오픈(불러오기)  ctrl + t : 새 탭 열기 2. Select 문 [데이터 조회 언어 : select 문 ] - 테이블명 컬럼명 소유자 정보를 사전에 알고 있어야 함  from 절과 함께 사용- 조회할 데이터가 저장된 테이블명 ..