GREATEST : 오라클에서 GREATEST 함수는 최대값, LEAST 함수는 최소값을 반환하는 함수이다. MAX, MIN 함수와 차이점은 서로다른 컬럼의 값을 비교한다는 것이다.

'[DB] > [오라클]' 카테고리의 다른 글

스칼라서브쿼리, 인라인뷰,서브쿼리  (0) 2019.11.06
WITH 구문  (0) 2019.11.04
PIVOT 을 이용하여 달력 만들기  (0) 2019.11.01
Oracle PIVOT  (0) 2019.10.28
PL/SQL : CURSOR(커서)  (0) 2019.08.26

 

'[DB] > [오라클]' 카테고리의 다른 글

GREATEST, LEAST  (0) 2023.06.22
스칼라서브쿼리, 인라인뷰,서브쿼리  (0) 2019.11.06
PIVOT 을 이용하여 달력 만들기  (0) 2019.11.01
Oracle PIVOT  (0) 2019.10.28
PL/SQL : CURSOR(커서)  (0) 2019.08.26

 

'[DB] > [오라클]' 카테고리의 다른 글

스칼라서브쿼리, 인라인뷰,서브쿼리  (0) 2019.11.06
WITH 구문  (0) 2019.11.04
Oracle PIVOT  (0) 2019.10.28
PL/SQL : CURSOR(커서)  (0) 2019.08.26
Orange,Oracle Client 설치 및 사용법  (0) 2019.07.11

Orange for ORACLE : DB관리 및 개발할수 있는 틀

Oracle Client : 로컬 DB혹은 remoteDB랑 연결할수 있게 해주는 툴

 

1.Oracle Client설치

 º 관리자 모드로 설치해야함 

2. Oracle Client에 DB정보 연결

 º Client-network-admin에 tnsnames.ora에 DB정보입력

3. Orange 설치

4. Orange에 Oracle DB 연결

 º Orange Logon : TNS Name에서 연결할 DB이름 선택(tnsnames.ora에 잘 넣어놨으면 될 것) , Username, Password 입력하고 Connect 버튼 클릭

 

5. DB 정보 조회

 º  View – Schema Browser – Table에서 각 테이블의 column, PK 등 여러 정보 조회가능

 

'[DB] > [오라클]' 카테고리의 다른 글

Oracle PIVOT  (0) 2019.10.28
PL/SQL : CURSOR(커서)  (0) 2019.08.26
Oracle : Scott 계정 생성하기  (0) 2019.06.04
12. 시퀀스와 인덱스  (0) 2019.05.18
10. 서브쿼리  (0) 2019.05.18

 

Cmd창을 키신후  SYS로 들어갑니다.

위의 마지막줄 처럼 Oracle db에 연결되었다고 나옵니다. 이제 Scott을 만들어 볼까요?

 

C:\oraclexe\app\oracle\product\10.2.0\server\RDBMS\ADMIN\scott.sql

을 입력해주세요 

그다음에  사용자 변경을 해주세요

연결하기  위해 conn scott/tiger을 해주세요

show user는 지금 사용하는  user을 보는 것 입니다.

테이블이 뭐가 있나 궁금하신 분들은 select * from tab;을 하시면 됩니다. 

 

'[DB] > [오라클]' 카테고리의 다른 글

PL/SQL : CURSOR(커서)  (0) 2019.08.26
Orange,Oracle Client 설치 및 사용법  (0) 2019.07.11
12. 시퀀스와 인덱스  (0) 2019.05.18
10. 서브쿼리  (0) 2019.05.18
09. 조인  (0) 2019.05.18

▶ 시퀀스는 테이블 내 유일한 숫자를 자동으로 생성하는 자동 번호 발생기

º  시퀀스 생성

CREATED SEQUENCE [스키마명.]시퀀스명

INCREMENT BY 증감숫자

START WITH 시작숫자

NOMINVALUE | MINVALUE 최소값

NOMAXVALUE | MAXVALUE 최대값

NOCYCLE | CYCLE     

NOCARE | CACHE; //CACHE : 메모리에 시퀀스 값을 미리 할당해 놓음

 

EX)

CREATE SEQUENCE MY_SEQ1
INCREMENT BY 1
START WITH 1
MAXVALUE 1000
NOCYCLE
NOCACHE;

-- 이 시퀀스는 1부터 시작해서 1씩 증가하여 최솟값부터 최대값까지 1000까지 순번을 자동 생성한다.

INSERT INTO EX2_8 (COL1) VALUES (MY_SEQ1.NEXTVAL);

NEXTVAL : 해당 시퀀스에서 다음 순번 값을 자동으로 가져온다.

//INSERT문이 아닌 SELECT문에서 사용하더도 값이 증가된다. // SELECT MY_SEQ1.NEXTVAL FROM DUAL;

CURRVAL : 현재의 값을 알수 있다.

SELECT MY_SEQ1.CURRVAL FROM DUAL;

 

데이터를 집어 넣은후 확인을 해 보면

 

▶CURRVAL는 'CURRENT VALUE'의 약어로 현재의 값 반환

▶NEXTVAL 'NEXT VALUE'의 약어로서 다음 값이란 의미

▶데이터 딕셔너리 USER_SEQUENCES는 시퀀스 객체의 정보를 보여줌

 

'[DB] > [오라클]' 카테고리의 다른 글

Orange,Oracle Client 설치 및 사용법  (0) 2019.07.11
Oracle : Scott 계정 생성하기  (0) 2019.06.04
10. 서브쿼리  (0) 2019.05.18
09. 조인  (0) 2019.05.18
07. 테이블의 내용을 추가,수정, 삭제하는 DML과 트랜잭션  (0) 2019.05.18

▶ 모든 서브 쿼리는 괄호를 싸여 있으며 메인 쿼리 안에 SELECT문이 들어가는 것을 서브 쿼리

▶ 서브쿼리의 결과 값이 하나일 경우에는 =,!=,<,<=,>,>= 연산자를 사용해야 합니다.

▶ 서브쿼리의 결과 값이 여러개일 경우에는 IN,SOME,ALL,ANY 연산자를 사용해야 합니다.

▶ 연산자 IN은 서브쿼리에서 돌려주는 리턴 값과 동등하게 비교합니다.

▶ ANY는 같은 의미이며, 서브 쿼리에서 돌려주는 값이 하나라도 비교 조건을 만족하면 참이 됩니다.

▶ALL은 서브쿼리에서 돌려주는 모든 값이 비교조건을 만족할때, 참이 됩니다.

▶메인 쿼리의 SELECT문에서 SELECT_LIST에 해당하는 값으로 서브 쿼리를 사용할수 있는데,

  이때 반드시 단일 값만을 리턴해야함

▶ 메인 쿼리와의 연관성에 따라 

- 연관성 없는 서브쿼리

-연관성 있는 서브 쿼리

 

 

▶ 연관성이 없는 서브쿼리 : 메인테이블과 조인조건이 걸리지 않는 서브쿼리

 

SELECT COUNT(*) FROM EMPLOYEES 
WHERE SALARY >= (SELECT AVG(SALARY) FROM EMPLOYEES );

// 전사원의 평균급여 이상을 받는 사원의 수를 조회하는 쿼리

SELECT EMPLOYEE_ID,FIRST_NAME,JOB_ID FROM EMPLOYEES WHERE (EMPLOYEE_ID,JOB_ID) 

IN (SELECT EMPLOYEE_ID,JOB_ID FROM JOB_HISTORY);

 

//JOB_HISTORY 테이블에 있는 EMPLOYEE_ID,JOB_ID 두 값을 같은 건을 사원테이블에서 찾는 쿼리로 서브쿼리는 메인 쿼리와 연관성이 없다. 

//동시에 2개이상의 컬럼 값이 같은 건을 찾고있다. 

//서브 쿼리는 SELECT문 뿐만 아니라 다음과 같이 UPDATE문,DELETE문에서도 사용할수 있다.

▶ 연관성 있는 서브쿼리

메인테이블과 조인조건이 걸리 서브쿼리

EXISTS 연산자를 사용해서 서브쿼리내에 조인 조건이 포함되었다.

 

SELECT A.DEPARTMENT_ID,A.DEPARTMENT_NAME FROM DEPARTMENTS A WHERE EXISTS 

(SELECT 1 FROM JOB_HISTORY B WHERE A.DEPARTMENT_ID = B.DEPARTMENT_ID );

서브쿼리 안에서 메인쿼리에서 사용된 부서 테이블의 부서번호와 JOB_HISTORY테이블의 부서번호가 같은 건을 조회하고있다.

 

 

 

 

▶ 형태에 따라

-일반 서브쿼리(Select 절)

-인라인 뷰 (from절)

-중첩쿼리 (where절)

+ Recent posts