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 |