728x90

분류 전체보기 293

[오라클/SQL] 집합연산자(UNION/UNIONALL/INTERSECT/MINUS)

집합 연산자 두 테이블에 대해서 select문으로 각각 데이터를 조회해서 새로운 데이터로 가공하고 싶을 때 집합 연산자를 사용한다. 집합 연산자를 사용하기 위해서 두 테이블에서 selet 문의 컬럼_명, 컬럼_위치, 컬럼_수가 동일해야한다. 그렇지 않으면 'ORA-01789: 질의 블록을 부정확 한 수 의 결과 열을 가지고 있습니다' 와 같은 에러가 발생한다. 집합 연산자의 종류는 UNION(합) UNION ALL, INTERSECT(차), MINUS(감) 있다. SELECT 문에 집합 연산자의 문법 (UNION/UNION ALL/MINUS/INTERSECT) SELECT 필드이름 FROM 테이블이름 UNION/UNION ALL/MINUS/INTERSECT SELECT 필드이름 FROM 테이블이름 UNI..

[오라클/SQL] 다중/여러개 테이블 [ANSI, Orcle] JOIN 하기

Q. 두 'king' 사원의 salary(e), first_name(e), employee_id(e), job_title(jobs), department_name(departments)를 보이시오. -- [Oracle Join] select last_name, salary, employee_id, job_title, department_name from employees e, jobs j, departments d where e.job_id = j.job_id AND e.department_id = d.department_id AND last_name = 'King'; -- [ANSI JOIN] select last_name, salary, employee_id, job_title, department_..

[오라클/SQL] JOIN - INNER/OUTER/ON

JOIN JOIN은 데이터베이스 내의 여러 테이블에서 가져온 레코드를 조합하여 하나의 테이블이나 결과 집합으로 표현해준다. 이러한 JOIN은 보통 SELECT 문과 함께 자주 사용된다. 종류 설명 (INNER) JOIN 두 테이블에서 값이 일치하는 레코드를 반환 OUTER JOIN 한 테이블있는 데이터 값이 다른 테이블에 하나도 나타나지 않는 경우 OUTER JOIN(외부 조인)를 사용 LEFT (OUTER) JOIN 왼쪽 테이블에서 모든 레코드를 반환하고, 오른쪽 테이블에서 일치하는 레코드를 반환 RIGHT (OUTER) JOIN 오른쪽 테이블에서 모든 레코드를 반환하고, 왼쪽 테이블에서 일치하는 레코드를 반환 FULL (OUTER) JOIN 쪽 또는 오른쪽 테이블의 모든 레코드를 반환 SELF JOI..

[오라클/SQL] 테이블 생성,변경,삭제하기

1.테이블 생성 create table empss(em(20), job_id varchar2(20),number); /* CREATE DATABASE 테이블_명 */ create table empss (emp_id number primary key, l_name varchar(20), job_id varchar2(20), hired number); 2. 테이블 항목 생성 /* 1. INSERT INTO 테이블_명(필드이름1, 필드이름2, 필드이름3, ...) VALUES (데이터값1, 데이터값2, 데이터값3, ...) 2. INSERT INTO 테이블_명 VALUES (데이터값1, 데이터값2, 데이터값3, ...) */ insert into empss values('001', 'lee', 'sales',..

[오라클/SQL] 정규 표현식

정규 표현식 숫자, 문자, 기호 등을 주어진 패턴으로 찾아내서 적용시키는 기법이다. 대부분 C, C++, ShellScript, Python, Java, ... 등의 프로그래밍 언어와 데이터 베이스의 PL/SQL사용된다. ^(~로 시작), $(~로 끝남) [a-z] -> a~z 중 하나, [a..f]-> a로 시작하고 f로 끝나는 총 4자리 문자, ^[a-f] -> a~f로 시작되지 않음, [^ps] -> p나 s로 시작 LIKE LIKE 연산자는 특정 패턴을 포함하는 데이터만을 검색하기 위해 사용한다. Q. Employees 테이블에서 'K'으로 시작하는 이름(Name) 출력하시오. SELECT * FROM EMmployees; WHERE last_Name LIKE 'K%'; REGEXP LIKE 연산..

[오라클/SQL] 함수 활용해보기(2)

+ 개별적인 salary와 부서별 평균 급료 avg(salary)를 함 께 사용할 수 없기 때문에 이를 분석함수를 통해서 avg(salary) over(partition by~)식으로 처리한다. 여기서 partition by는 group by와 유사한 의미이다. rank() 함수의 활용 rank() 함수는 순위를 표시하는데 정렬을 해야하므로 보통 뒤에 over(order by ~), within group(order by~)구문이 함께 오는 경우가 많다. Q. 급여가 10000 이상인 직원을 월급 내림차순으로 보이시오. select employee_id, salary, rank() over(order by salary DESC) "PERSONAL_SAL_RANK" from employees where s..

[오라클/SQL] 함수 활용해보기(1)

1. 숫자 함수 mod(m,n) round(m,n) trunc(m,n) width_bucket (expr,min,max,step) 2. 문자 함수 ㄱ. lower (char) ㄴ. substr(str, m, n) : m~n이 아니라 m부터 시작해서 +n ㄷ. lpad(expr, n, #) and rpad(expr, n, -) : 문자열이 지정된 n 보다 적을 때 빈 공간을 좌측에 #, 우측에 -로 채움 ㄹ. replace(str, 바뀔_문자, 바꿀_문자) ㅁ. ltrim(expr) and rtrim(expr) : 좌측과 우측에서 빈자리를 절삭 ㅂ. initcap(expr) : 첫번째 대문자, length(expr) : 문자열의 개수 ㅅ. instr(expr, char) :해당 expr에서 첫번째로 찾은 ..

[오라클/SQL] SQL규칙과 CMD 실행하기

Oracle에서의 관리자 계정 관리자 계정 설명 비고 SYS 데이터베이스 관리 작업을 수행하는 일반적인 관리자 Windows의 Administrator나 Linuxl root 권한과 유사 SYSDBA 데이터베이스의 구조, 설계 등을 관리하는 관리자 SYSTEM 데이터베이스를 위한 순수 데이터베이스 관리자 Oracle에서는 SYSTEM 계정으로 작업하는 것보다 개별 데이터베이스 관리자 계정을 생성해서 데이터 작업을 수행하는 것을 권장 Oracle에서의 일반 사용자 일반 관리자 Scott, BI(Business Intelligence), HR(Human Resources), OE(Order Entry), PM(Product Media), IX(Information Exchange), SH(Sales), SQ..

[오라클/SQL] 데이터베이스 배우기

데이터베이스(DataBase)란? 데이터베이스(DB: database)는 통합하여 관리되는 데이터의 집합체를 의미한다. 이는 중복된 데이터를 없애고, 자료를 구조화하여, 효율적인 처리를 할 수 있도록 관리된다. 따라서, 여러 업무에 여러 사용자가 데이터 베이스를 사용할 수 있다. 이러한 데이터베이스는 응용 프로그램과는 다른 별도의 미들웨어에 의해 관리된다. 데이터베이스를 관리하는 이러한 미들웨어를 데이터베이스 관리 시스템(DBMS: Database Management System)이라고 한다. 데이터베이스의 특징 데이터베이스는 다음과 같은 특징을 가진다. 1. 사용자의 질의에 대하여 즉각적인 처리와 응답이 이루어진다. 2. 생성, 수정, 삭제를 통하여 항상 최신의 데이터를 유지한다. 3. 사용자들이 원하..

728x90