본문 바로가기
SQL

[Oracle] SELECT 명령문을 사용하여 다양한 방법으로 데이터 출력하기

by 권미정 2022. 4. 15.

22/04/13 강의 실습 내용

 

SELECT 명령문

테이블에 저장된 데이터를 검색할 때는 SELECT 명령문을 사용한다.

SELECT 명령문의 표준 형식은 6개의 절로 구성되어 있는데, SELECT절과 FROM절은 필수이고 나머지는 필요에 따라 선택적으로 사용한다.

select 콜롬명
from 테이블명
(where 조건)
(group by 콜롬명)
(having 조건)
(order by 콜롬명)

 

테이블의 모든 콜롬에 저장된 데이터를 출력하는 방법은

select * from 콜롬명;

으로 앞서 자주 사용하였기에 빠르게 넘어가고, 오늘은 다양한 방법으로 데이터를 출력해볼 것이다!

 

* 중복행 제거

SELECT절에 DISTINCT 키워드를 사용하면 중복행을 제거할 수 있다.

 

Q. 학생들의 소속 학과를 구하라.

select distinct deptno
from student;

이렇게 distinct를 사용하면 학과명이 중복되어 출력되지 않는다.

 

Q. 학생들의 학과 수를 구하라.

select count (distinct deptno)
from student;

count와 같은 집계함수와 함께 응용할 수도 있다!

 

* 콜롬에 별명 부여

콜롬 이름이 너무 길 때는 콜롬에 별명을 부여해서 출력해보자. 별명 부여 방법에는 3가지가 있다.

  1. 콜롬 이름과 별명 사이에 공백 추가하기
  2. 콜롬 이름과 별명 사이에 AS 키워드 추가하기
  3. 콜롬 이름과 별명 사이에 공백을 추가하고 큰따옴표("별명") 사용하기-별명에 공백, 특수문자, 대소문자가 포함된 경우 주로 사용함!

Q. 부서 테이블에서 부서 번호 콜롬의 별명을 DN으로 부여하여 출력하라.

select deptno as DN
from department;

 

* 합성 연산자 사용

합성 연산자(||)는 하나의 콜롬과 다른 콜롬, 산술 표현식 또는 상수 값과 연결하여 하나의 콜롬처럼 출력할 경우에 사용한다.

 

Q. 학생 테이블에서 '홍길동의 키는 180, 몸무게는 55'와 같은 형식으로 출력되도록 리터럴 문자를 추가하고, 콜롬 이름은 "학생의 키와 몸무게 정보"라는 별명으로 출력해라.

select name ||'의 키는 '||height||', 몸무게는 '||weight "학생의 키와 몸무게 정보"
from student;

위처럼 콜롬과 콜롬 사이에 공백 문자(' ')를 합성 연산자로 연결하여 출력하면 두 콜롬을 공백(띄어쓰기)으로 구분하여 읽기 편하다!

 

* 산술 연산자(+, - ,*, /)

숫자 또는 날짜 타입으로 지정된 콜롬 값에 산술 연산자를 적용하여 계산된 결과를 출력할 수 있다. 산술연산자의 우선순위는 수학에서의 산술 연산자의 우선순위와 동일하다.

 

Q. 학생의 몸무게를 pound(1kg=2.2pound)로 환산하고 콜롬 이름은 "몸무게(lb)"라는 별명으로 출력해라.

select name "이름", weight "몸무게(kg)", weight*2.2 "몸무게(lb)"
from student;

 

Q. 교수 테이블에서 교수 이름, 급여 그리고 보너스를 포함한 연봉을 출력해라. (연봉=급여*12+100)

select name "교수 이름", sal "급여",sal*12+100 "연봉"
from professor;

별명을 부여하여 출력하니 산술 연산자로 계산된 결과 값이 보기 좋게 출력되었다!

 

이번 실습에선 중복행 제거, 별명 부여, 합성 연산자, 산술 연산자를 이용한 데이터 출력을 해보았다. 콜롬에 별명을 부여하여 가상 콜롬을 만들고 합성 연산자로 출력하는 것은 유용하게 쓰일 것 같다. 다음 실습에서는 where절, 논리 연산자, between 연산자, in 연산자 등을 이용한 조건 검색을 해볼 것이다.

 

 

댓글