DB

SQL명령어 (SELECT)

닉넥임 2013. 7. 12. 14:05
반응형

1. Syntax

SELECT [DISTINCT]    {*, column [alias], . . .}

        FROM         table_name

        [WHERE       condition]

        [ORDER BY    {column, expression} [ASC | DESC]];

DISTINCT     중복 행 제거 옵션

*            테이블의 모든 column 출력

alias                해당 column에 대한 다른 이름 부여

table_name   테이블명 질의 대상 테이블 이름

WHERE                조건을 만족하는 행들만 검색

condition    column, 표현식, 상수 및 비교 연산자

ORDER BY     질의 결과 정렬을 위한 옵션(ASC:오름차순(Default),DESC내림차순)


1.1 Null값의 처리

1)   NULL은 이용할 수 없고 할당되지 않고 알려져 있지않고 적용 불가한 값을 의미한다.

2)   NULL이란 0나 공백(space)과 다르다.

3)   널 값을 포함한 산술 표현식 결과는 NULL이 된다.

4)   column에 데이터 값이 없으면 그 값 자체가 널 또는 널 값을 포함하고 있다.

5)   널 값은 1바이트의 내부 저장 장치를 오버헤드로 사용하고 있으며 어떠한 datatype column들이라도 널 값을 포함할 수 있다.

1.2 NVL 함수

1)   Null값을 어떤 특정한 값(실제 값)으로 변환하는데 사용한다.

2)   사용될 수 있는 데이터 타입은 날짜, 문자, 숫자입니다.

3)   NVL 함수를 사용할 때 전환되는 값의 데이터 타입을 일치 시켜야 한다.

 

1.2.1 Syntax

NVL(expr1,expr2)

expr1        Null 값을 포함하고 있는 Column이나 표현식

expr2        Null 변환을 위한 목표 값

 

1.2.2 다양한 데이터형에 대한 NVL변형

데이터형

변환 예

NUMBER

NVL(comm, 0)

DATE

NVL(hiredate, 01-JAN-99)

CHAR or VARCHAR2

NVL(job, 업무없음)

 1.3 NVL 함수

1)   Null값을 어떤 특정한 값(실제 값)으로 변환하는데 사용한다.

2)   사용될 수 있는 데이터 타입은 날짜, 문자, 숫자입니다.

3)   NVL 함수를 사용할 때 전환되는 값의 데이터 타입을 일치 시켜야 한다.

 

1.3.1 Syntax

NVL(expr1,expr2)

expr1        Null 값을 포함하고 있는 Column이나 표현식

expr2        Null 변환을 위한 목표 값

 

1.3.2 다양한 데이터형에 대한 NVL변형

데이터형

변환 예

NUMBER

NVL(comm, 0)

DATE

NVL(hiredate, 01-JAN-99)

CHAR or VARCHAR2

NVL(job, 업무없음)

 

EX)

SQL> SELECT ename,sal,comm,sal*12+NVL(comm,0)

  2  FROM emp; 


1.4 열에 별칭(Alias) 부여

질의의 결과를 출력할 때 보통 SQL*Plus는 열 Heading으로 선택된 열 이름을 사용합니다. Heading은 때로 사용자가 이해하기가 어려운 경우가 있기 때문에 열 Heading을 변경하여 질의 결과를 출력하면 보다 쉽게 사용자가 이해할 수 있습니다.

 

1.4.1 열 별칭(Alias) 정의

1)   Heading이름을 변경 합니다.

2)   계산에 유용합니다.

3)   열 이름 바로 뒤에 사용합니다. 열 이름과 별칭 사이에 키워드 AS를 넣기도 합니다.

4)   공백이나 특수 문자 또는 대문자가 있으면 이중 인용부호( )가 필요 합니다.

EX)

1번 방법

SQL> SELECT ename AS name, sal salary

  2  FROM emp;


2번 방법

SQL> SELECT ename "Name", sal*12 "Annual Salary"

  2  FROM emp;

 

 

1.5 연결 연산자

연결 연산자(||)를 사용하여 문자 표현식을 생성하기 위해 다른 열, 산술 표현식, 상수 값에 열을 연결 할 수 있습니다. 연결자의 왼쪽에 있는 열은 단일 결과 열을 만들기 위해 조합 됩니다.

 EX)

SQL> SELECT ename || ': 1 Year salary = ' || sal * 12 Monthly

  2  FROM emp;

 MONTHLY

--------------------------------------------------------------------

KING: 1 Year salary = 60000

. . . . . . . . . .

14 rows selected.

1.6 LITERAL 문자 STRING

1)   SELECT절에 포함된 LITERAL은 문자, 표현식, 숫자입니다.

2)   날짜와 문자 LITERAL 값은 단일 인용부호( ) 안에 있어야 합니다.

3)   각각의 문자 STRING RETURN된 각 행에 대한 결과입니다.

 

SQL> SELECT ename || ' ' || 'is a' || ' ' || job AS "Employees Details"

  2  FROM emp;

 

Employees Details

-------------------------

KING is a PRESIDENT

BLAKE is a MANAGER

. . . . . . . . . .

14 rows selected.

 


1.14
중복 행의 제거

결과에서 중복되는 행을 제거하기 위해서는 SELECT 키워드 바로 뒤에 DISTINCT를 기술한다.

 EX

SQL> SELECT DISTINCT job

  2  FROM emp;

 

JOB

---------

ANALYST

CLERK

MANAGER

PRESIDENT

SALESMAN

 

반응형

'DB' 카테고리의 다른 글

SQL명령어 (SELECT 의 SUBQUERY)  (0) 2013.07.30
SQL 문제-3  (0) 2013.07.22
SQL 명령어(단일함수)[미완]  (0) 2013.07.18
그룹 함수(GROUP BY)  (0) 2013.07.17
SQL명령어 (WHERE)  (0) 2013.07.12