티스토리 뷰

반응형

오늘부터 이전에 공부했던 SQL 복습 시작. 3월 SQL 개발자 자격증 취득 성공하자!

1. select 문을 사용하여 데이터 검색 (Query)

배울땐 몰랐지만 SQL은 데이터와 관련된 대부분의 언어와 연결되어 있고,

기본적으로 알아야 하는 언어라서 꾸준히 복습해야 한다.

select문 예시)

select * from emp ;

(검색해라!) (모든 컬럼을 다) (~부터) (emp 테이블) (실행해라)

여기서 emp 테이블이란 oracle SQL에 대부분 내장되어 있는 Data Set으로, 각 컬럼들의 설명은 아래와 같다.

컬럼명 설명
empno 사원번호
ename 사원이름
Job 직업
MGR 관리자의 사원번호
hiredate 입사일
sal 월급
comm 커미션
deptno 부서번호

emp 테이블에서 원하는 컬럼만 출력해보자.

select empno, ename, sal

from emp;

컬럼끼리 더해보자

select ename, sal, comm, sal+comm from emp;

-> sal+comm 오류 발생

Comm(커미션)값 없는 것은 합계 값도 뜨지않는다. 이럴때는 값이 없는 것(null 값)을 변환해주어야 한다.

※null 값

  1. 데이터가 없는 상태 2. 알 수 없는 값(unknown)

nvl 함수: null 대신에 다른 값이 출력되게 하는 함수

nvl(comm,0) → 이때 comm에 null이 있다면 null 대신 0으로 출력

해당 데이터가 숫자인 경우이므로 0으로 변경하자.

select ename, sal, comm, sal+nvl(comm,0)

from emp;

컬럼이 무엇이 있는지 확인해볼 필요가 있다.

이럴땐 desc(describe) + 테이블명 + ;(세미콜론)으로 조회 가능하다.

describe emp;

= desc emp;

데이터가 a,a,b,b,c,c,d가 있을 때, 중복을 제거하고 a,b,c,d만 출력하려면

"distinct + 컬럼명"의 형식으로 사용한다.

select distinct job

from emp;

※ 설명: "distinct"는 중복을 제거하는 키워드임

만약, 이어서 출력하고 싶은 값이 있다면 "||"을 사용하면 된다.

select ename || '의 월급은 ' || sal

from emp;

KING 의 월급은 5000 → 문자열로 출력됨

또한, 기존 컬럼 이름이 너무 길거나 혹은 자신이 편하게 이름을 변경하고 싶을때에는

as + "변경할 컬럼명"을 사용한다.

select ename || '의 부서번호는 ' || DEPTNO || '번입니다.'

as "사원에 대한 부서 번호"

from emp;

※ 컬럼 별칭 사용('as ㅇㅇ') → as 생략 가능 " " (쌍따옴표 - 스페이스(공백) 처리 기호)

=================이 글은 Markdown을 활용해 작성하였습니다=================

위 글에 있는 것은 앞으로 무궁무진한 SQL 언어의 기본적인 내용이므로 꼭 숙지하고 진행하도록 한다.

공!부!

반응형

'SQL' 카테고리의 다른 글

[SQL] 6. 그룹함수(복수행함수)  (0) 2018.01.23
[SQL] 5. 일반함수  (0) 2018.01.22
[SQL] 4.날짜함수 & 변환함수  (0) 2018.01.21
[SQL] 3. 문자함수 & 숫자함수  (0) 2018.01.20
[SQL] 2. 데이터 제한 및 정렬  (0) 2018.01.20
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함