오라클(Oracle)DB 박살내기 - SELECT문 (Oracle Database 11g Release 2)



 1. 오라클 DB 테이블 확인하기 


- SELECT문을 하기 앞서 scott 계정에 있는 테이블이 어떤게 있는지 확인해 봐야 합니다. 


- MYSQL에서 'SHOW TABLES'로 DB내 테이블 목록을 간단히 볼 수 있다.


1
SHOW TABLES;
cs


- 하지만 오라클에서는 안되기 때문에 다음과 같은 쿼리를 사용해야 한다.

1
SELECT * FROM USER_OBJECTS WHERE OBJECT_TYPE='TABLE';
cs


<결과>



- 다음과 같이 우리 실습에 도움을 줄 테이블이 미리 정의 되어 있다. 만약 저렇게 테이블이 선언되어 있지 않는다면 아래 링크로 들어가 참고 해주세요.

http://raccoonjy.tistory.com/22




 2. SELECT문 


- DESC 명령어 

- DESC 명령어는 테이블의 컬럼들의 특징에대해 알 수 있다.

1
DESC emp;                
cs


<결과>


- SELECT문의 기본형식

- SELECT * [컬럼명 or 표현식] FROM [테이블명, 뷰 명];


- 모든 컬럼 조회하기

1
SELECT * FROM emp;    
cs


또는(줄바꿈은 가능하지만 키워드 중간에 줄바꿈 안된다.)


1
2
SELECT * 
FROM emp;    
cs


<결과>


- SELECT문 주의사항

 1. 대소문자 구분을 하지 않아도 실행 가능하지만 원래는 다른 문장임.

                                                                                                        

 2. 한 줄 또는 여러 줄에 걸쳐 작성해도 되며 마지막은 ;(세미콜론)으로 끝맺어야 함.   

                                     

 3. SQL 키워드는 분리하면 안됨.                                                                                              



- 저 처럼 Oracle Developer를 사용하지 않고 SQLPLUS 이용하시는 사람들 TIP!

1
2
3
4
5
6
7
8
//화면 좋게 출력하는법
COL empno FOR 9999;    // 숫자일 경우
 
COL ename FOR a8;    // 문자일 경우
 
SET line 200;
 
SET pagesize 50;
cs


- 원하는 컬럼만 조회하는 방법

ex) emp 테이블의 empno와 ename을 조회

1
2
SELECT empno, ename
FROM emp;             
cs


<결과>


- 표현식을 사용하여 출력하기

1
2
SELECT name, '안녕하세요? 교수님~'
FROM professor;
cs

<결과>



- 칼럼 별칭 사용하여 출력하기 -1

1
2
SELECT studno, name
FROM student;
cs


<결과 - 쿼리에는 소문자로 쓰였지만 결과는 대문자로 출력된다.>


- 칼럼 별칭 사용하여 출력하기 -2

1
2
SELECT studno "학번", name AS "이름", profno 지도교수번호
FROM student;
cs


<결과 - 별칭으로는 "" or AS "" or 그냥 적기는 모두 같은 의미다.>


- DISTINCT : 중복된 값을 제거하고 출력하기


<사용전>

1
2
SELECT deptno1
FROM student;
cs


<결과>


<사용후>

1
2
SELECT DISTINCT deptno1
FROM student;
cs


<결과 - 중복제거>


- 연결 연산자로 칼럼 붙이기('||'이용)

1
2
SELECT name || '님은' || position || '입니다.'
FROM professor;
cs


<결과>


- 산술 연산자 사용하기

1
2
SELECT ename, sal, sal + 100
FROM emp;
cs


<결과>




  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유