━━━━ ◇ ━━━━
DataBase/Oracle

select 절을 사용하여 데이터 조회하기

1. select 절의 구조

 select + [컬럼 또는 표현식​] + from + [테이블 또는 뷰] ;

[컬럼 또는 표현식] 에는 조회할 데이터가 포함된 필드 또는 식을 입력한다. 결과창에 보여질 데이터 집합들을 선택하는 것이다.

[테이블 또는 뷰] 에는 데이터가 담겨있는 테이블 또는 뷰를 입력한다. 

 ※ 용어설명

컬럼 (필드와 유사하다) : 유사한 데이터 집합을 대표하여 부르는 용어, 예를 들어 우리반 학생들의 '이름', '키', '몸무게' 등이 기록된 데이터가 있다면, 여기서 '이름', '키', '몸무게' 등의 데이터들은 각각 이름 컬럼, 키 컬럼, 몸무게 컬럼에 속하는 데이터가 되는것이다.

테이블 : 데이터 집합. 컬럼의 집합이라고 해도 될것 같다. 위 예를 그대로 사용해 보면 테이블은 우리반 학생들의 데이터 정도가 될것이다.

2.  select 절의 이용

select 절을 글자 그대로 해석해보면, 테이블로 부터 컬럼을 선택한다 이다. 즉, 모래사장의 모래처럼 흩뿌려져 있는 데이터들 중에서 특정한 모래(컬럼) 한바가지를 퍼올리는 행위와 같다.


 

위 쿼리를 해석해보면 emp 테이블의 모든 내용을 선택한다는 것이다. *(아스트리스크)는 전부를 뜻한다. 쿼리는 사용자가 어떤 정보를 얻기 위하여 데이터베이스에게 보내는 문장을 말한다. 그 결과가 아래쪽에 나타난다. 14줄의 데이터가 있고, 뭔진 모르겠지만 empno, ename, job, mgr, hiredate, sal, comm, deptno 등의 칼럼을 가진 데이터 집단이 나타났다.

 

테이블에 존재하는 모든 칼럼들을 조회하기 위해서는

select * from [테이블명] ;

을 치면 된다.​

 

원래 검색이라함은 목적에 부합하는 내용을 뽑아내고자 하는 것이다. 그래서 조건을 달아주면 더 세밀한 정보를 얻을 수 있게된다. 이번에는 emp 테이블에서 ename, sal 칼럼을 선택했다. 그 결과 이름과 급여가 결과창에 나타났다.

 

테이블에서 원하는 칼럼만 조회하기 위해서는

select [조회하기를 원하는 칼럼명] from [테이블명] ;

을 치면 된다.​

 

hiredate를 추가로 선택해 보았다. 결과창에 고용일이 추가된 것을 확인 할 수 있을 것이다.

 

아참, 쿼리를 실행하는 방법은 동그라미친 초록색 세모버튼을 누르거나, Ctrl + Enter 키를 누르는 것이다. 이 명령은 선택된(커서가 위치한)​한 문장만 실행이 된다. 워크시트의 모든 쿼리들을 실행시키는 명령은 바로 옆의 아이콘을 누르면 된다. 문서그림이 있고, 그 아래에 초록색 세모가 있는 아이콘을 말한다.

여기서 또 하나 짚고 넘어갈 것이 한문장이 어디서부터 어디까지 인가 이다. SQL에서 한 문장 혹은 한 쿼리는 이전에 있던 세미콜론(;) 뒤 부터 이후에 있는 세미콜론(;)까지의 모든 내용을 한 문장으로 친다.

① select * from ABC ;​

② select A

③ from ABC ;

위와 같은 쿼리가 있다면, 여기서 문장은 1번과 2+3번 이렇게 두개 이다. 세미콜론(;)은 한 문장의 종료를 나타내는 마침표와 같은 기능을 한다. 1번 끝의 세미콜론과 3번끝의 세미콜론 사이에 아무리 많은 내용이 있고, 줄이 바뀌더라도 한문장이라고 생각하면 된다.

 

홑따옴표(' ') 사이에 문자나 숫자, 특수문자등을 입력하면 결과창에 하나의 컬럼으로 추가된다. 이를 리터럴(상수)라고 부르는데 어떤 데이터든 변하지 않기 때문이다.

 

컬럼이름 대신 리터럴 문자를 사용하여 출력하기 위해서는 따옴표를 사용한다는 걸 잊지 말자.​ 쌍따옴표가 아니다.

 

 그런데 이 방법은 필드의 숫자를 하나 늘어나게 만들기 때문에 보기에 따라 지저분해 보일 수 있다. 이를 위해 파이프 라인 이라는 것이 존재한다.

 

위와 같이 파이프라인을 이용하면 하나의 필드 안에 리터럴을 데이터에 붙일 수가 있다. 파이프라인은 키보드에서 \ 표시 위에 있다. shift + \ 를 누르면 파이프라인(||)을 입력할 수 있다.


 


심지어 칼럼들 끼리도 연결이 가능하다.

 

또 여러개 연결이 가능하다.

 

 

컬럼에 별칭을 설정할 수 있다. as + "별칭" 를 입력하면 된다. 그 위의 다른 스샷과 비교를 해보면 칼럼의 이름이 있는 위치에 사용자가 지정한 별칭이 출력되어 있는 것을 확인 할 수 있을 것이다.

 

as + " 별칭 " 이 정석적인 방법이지만, 효율적인 사용을 위하여 as를 생략하고 써도 똑 같은 효과를 볼 수 있다.

 


여러 칼럼과 리터럴을 조합하여 보다 깔끔한 정보를 얻을 수 있다. 또, 하나의 필드를 칼럼의 연산을 사용하여 만들수도 있다. 데이터를 자동으로 연산하여 그 결과값을 출력해 준다.

emp 테이블에서 deptno 칼럼을 조회했다. 그런데 결과값에 중복값이 너무 많아 부서번호가 몇개가 있는지 한눈에 파악하기가 쉽지 않다.

이때 select 뒤에 distinct(뚜렷한, 분명한 이라는 뜻)를 붙여주면 중복된 값을 삭제할수 있다.

다음 포스팅에서는 where 절을 사용하여 보다 구체적인 검색 혹은 조회를 하는 방법을 알아보도록 하겠다.


'DataBase > Oracle' 카테고리의 다른 글

SQL 접속자 생성 및 계정 생성  (0) 2016.08.11
SQL Developer 설치  (0) 2016.08.11
오라클 설치  (0) 2016.08.11
COMMENT