728x90

SQL 6

[오라클/SQL] Subqueries(서브쿼리) 종류와 규칙

1. Subqueries(서브쿼리)란? 서브쿼리란 한 SQL 문장 안에서 보조로 사용되는 또 다른 SELECT문을 의미한다. 최종 결과를 출력하는 쿼리를 메인 쿼리라고 한다면, 이를 위한 중간 단계 혹은 보조 역할을 하는 SELECT문을 서브쿼리라고 한다. 2. Subqueries(서브쿼리)의 규칙 - 연산자를 사용한 비교나 조회대상의 오른쪽에 놓이며 서브 쿼리문을 묶는다 . - 특수한 몇몇 경우를 제외하고 대부분 서브 쿼리 절에는 ORDER BY절을 사용할 수 없다. - 서브 쿼리의 select절에 명시된 열은 메인쿼리의 비교대상과 같은 자료형과 같은 개수로 지정한다. - 서브 쿼리에 있는 select 문의 수행결과로 나오는 행의 수는 메인 쿼리의 연산자 종류와 호환되어야 한다 3. Subqueries..

[오라클/SQL] GROUP BY (ROLLUP/CUBE), 계층적 질의

GROUP BY 함수 확장 GROUP BY ROLLUP() 과 GROUP BY CUBE() 함수가 있다. GROUP BY ROLLUP()은 그룹화 할 조건이 있으면 우측으로부터 하나씩 제외해 나아가면서 그 결과를 반환하는 기능을 한다. 직무별 평균급여와 부서별 평균 급여를 구하는데 사용될 수 있다. GROUP BY CUBE() 는 3차원 적인 분석을 가능하게 해주는 기능이다. 전체평균 급여,직무별 평균급여와 부서별 평균급여 대해서 부서별 평균급여를 함께 쿼리하게 해서 3차원적으로 작업을 수행시킬 수 있다. . Q. 부서명, 직무, 직무별 평균 급여와 부서별 평균급여를 보이시오. (ROLLUP, CUBE) select d.department_name, j.job_title, round(avg(salary)..

[오라클/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] 정규 표현식

정규 표현식 숫자, 문자, 기호 등을 주어진 패턴으로 찾아내서 적용시키는 기법이다. 대부분 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] 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..

728x90