오라클 정렬(ORDER BY)




ORDER BY란?



오라클에서 데이터를 조회(SELECT) 할 때 조회의 결과 값을 특정 컬럼을 기준으로 

오름 차순(ASC) 혹은 내림 차순(DESC)로 정렬 하기 위해 사용 된다.

오름 혹은 내림차준 기준을 정해 주지 않으면 기본적으로 ASC가 적용이 된다.


 SELECT * FROM [테이블 명] ORDER BY [정렬할 컬럼 명] [ASC, DESC]


아래 예제를 보자


정렬을 하지 않았을 때 결과 값이다.



이제 이것을 AGE 순으로 정렬 해 보겠다.

정렬 명령어는 아래와 같다.


 SELECT * FROM TBL_HUMAN ORDER BY AGE;





정렬 기준을 넣지 않아도 기본 적으로 ASC(오름 차순)으로 정렬이 되며

AGE 컬럼을 기준으로 정렬 되어 결과 값이 조회 된 것을 확인 할 수 있다.






아래는 ASC로 정렬 했는데 결과가 없었을 때랑 같다.






내림차순으로 정렬 했을 때 SELECT 결과 출력 되는 순서가 

바뀐 것을 확인 할 수 있다.





이번엔 컬럼값을 바꿔서 정렬을 해보겠다.

정렬할 컬럼 명은 ID 이다.







마지막으로 ORDER BY는 WHERE 절 뒤에 사용 할 수 있다.



이상으로 ORDER BY 사용법에 대해 마치겠습니다.

도움이 되셨나요?

반응형

오라클 무료 툴 SQL Developer 설치




SQL Developer 설치




1http://www.oracle.com/ 싸이트에 접속한다.




2Sign In/Register (로그인/가입) 버튼을 눌러 로그인을 한다.



3계정이 없으면 등록 방법은 ===> 여기에 자세히 설명 되어있다.



4. 로그인이 되었으면 아래와 같이 Download 클릭




5. 아래 Developer Tools 클릭



5SQL Developer 클릭





6Accept~ 클릭 Download it here 클릭




7. 프로그램 다운

   -. JDK가 설치 되어 있지 않으면 Windows 64-bit with JDK 8 included 선택

   -. JDK가 설치 되어 있으면 Windows 32-bit/64bit 선택



8다운로드가 끝나고 압축을 푼 후에 sqldeveloper 실행




9설치된 jdk 위치 선택






10시작 페이지는 닫고 왼쪽에 + 를 눌러서 DB를 추가 하자





11접속 이름, 사용자이름, 비번 등 정보를 입력한다.

    -. 테스트를 진행하여 정상적으로 접속이 되는지 확인한다.

    -. 접속 버튼을 누르고 DB 접속 한다.




12쿼리문을 간단하게 작성 한다.

     -. ▶ 눌러 실행 한다.






반응형

오라클 인덱스 생성(CREATE) 및 삭제(DROP)




인덱스 생성



일단 인덱스는 다음과 같이 생성한다.

인덱스 종류는 많지만 많이 쓰는 것 위주 순으로 설명 하겠습니다.


 CREATE INDEX 인덱스 명 ON 테이블명( 컬럼1, 컬럼2.... ); 


아래와 같이 

테이블 명 : SAMPLE, 컬럼 명은 ID, NAME 

인 테이블이 있다고 하자.


CREATE TABLE SAMPLE

(

     ID INT,

     NAME VARCHAR(10)

);


위의 테이블의 인덱스는 다음과 같이 한다.


 CREATE INDEX IDX_SAMPLE ON SAMPLE( ID ); 


IDX_SAMPLE 은 인덱스 명으로 사용자가 임의로 정해 주지만 IDX (INDEX 약칭 ) 라고 명시는 해주는 것이 좋은 습관이다.



인덱스 왜 만드나요?



우리는 DML문에 WHERE 뒤에 검색에 대한 조건을 단다.

데이터가 100만건이 있다면 내가 원하는 조건을 찾을려면 100만번을 다 건건이 찾을려면 시간이 걸릴 것이다.

이러한 검색 시간을 단축 하기 위해서 인덱스를 생성 하며 인덱스를 생성하면 검색 시간이 많이 단축 될 것이다.


인덱스 삭제



인덱스 삭제는 다음과 같이 한다.


 DROP INDEX 인덱스 명; 


앞에서 생성한 인덱스 삭제는 다음과 같이 한다.


 DROP INDEX IDX_SAMPLE; 



UNIQUE 인덱스 생성



해당 컬럼에 중복 값을 허용하지 않고 인덱스를 생성한다.


 CREATE UNIQUE INDEX 인덱스 명 ON 테이블명( 컬럼명 ); 


SAMPLE 테이블에 UNIQUE INDEX를 생성해 보자.


 CREATE UNIQUE INDEX IDX_SAMPLE ON SAMPLE( ID ); 


부연 설명으로 위와 같이 인덱스가 생성 되면 SAMPLE의 ID 값이 같은 값이 INSERT가 안된다.

같은 값을 INSERT를 할라고 하면 다음과 같은 메시지가 출력 된다.


ORA-00001: unique constraint (JINK1982.IDX_SAMPLE) violated 



반응형

오라클 권한 생성(GRANT), 권한 삭제(REVOKE)




권한 생성(GRANT)



1. 권한을 생성 하기 위해서는 우선 DBA로 접속을 해야 한다.


CONN SYS/ORACLE AS SYSDBA


2. 이후 권한을 부여해 줄 사용자를 생성 한다.


CREATE USER SAMPLE_USER IDENTIFIED BY PASSWORD;


3. 생성된 사용자에게 CONNECT 권한 및 RESOURCE 권한을 준다.

   CONNECT는 접속 권한

   RESOURCE는 객체(생성, 수정, 삭제), 데이터(입력, 수정, 조회, 삭제) 권한 

   RESOURCE로 권한을 주지 않고 테이블 생성 데이터 입력만 가능하도록 일부 권한만 줄 수도 있다.

   

   GRANT 권한 종류1, 권한 종류2 TO 권한을 줄 사용자


GRANT CONNECT, RESOURCE TO SAMPLE_USER;


권한 삭제(REVOKE)



권한을 삭제 방법은 아래와 같다.


REVOKE 권한 종류1, 권한 종류2 FROM 권한을 삭제 할 사용자


REVOKE CONNECT, RESOURCE FROM SAMPLE_USER;


반응형

+ Recent posts