
SELECT * | [DISTINCT] column | expreession [alias], ...
FROM table;
1. 표시할 열을 지정하는 SELECT 절
* : 모든 열 선택
[DISTINCT] : 중복을 방지 (필요시)
column/expression : 이름 지정된 열 또는 표현식 선택
[alias] : 선택한 열에 다른 별칭 지정 (필요시)
2. SELECT절에 나열된 열을 포함하는 테이블을 식별하는 FROM절
table : 열이 포함된 테이블 지정
3. 산술 표현식
: SQL문의 모든 절(FROM절 제외)에서 산술 연산자 사용 가능. (date및 timestamp 데이터 형식은 더하기/빼기만 가능)
SELECT last_name, salary, salary+300
FROM employees;
4. NULL값 정의
: 사용할 수 없거나, 할당되지 않거나, 알 수 없거나, 적용할 수 없는 값. 0이나 공백은 아님!! (0은 숫자, 공백은 문자임)
& 널값을 포함하는 산술식은 널로 계산됨..
5. 열 Alias 정의
: 열 머리글의 이름을 변경. 계산에 유용. 열 이름 바로 뒤에 나옴(OR 열이름과 별칭 사이에 AS키워드를 넣기)
& 공백이나 특수문자 포함, 대소문자 구분하는 경우 " " 안에 넣기.
SELECT last_name AS name
FROM employees;
SELECT last_name "Name"
FROM employees;
6. 연결 연산자
: 열 또는 문자열을 다른 열에 연결 (||) 그냥 바로 옆에다 붙음!!
& 문자열에 NULL값을 결합할 경우 결과는 문자열
SELECT last_name||job_id AS "Employees"
FROM employees;
7. 리터럴 문자열 사용
: 문자, 숫자 또는 날짜
날짜 및 문자 리터럴 값은 ''으로 묶기.
각 문자열은 반환되는 각 행에 한 번 출력됨.
SELECT last_name || 'is a '||job_id AS "Employee Details"
FROM employees;
8. 대체 인용(q) 연산자
: 자신의 따옴표 구분자를 지정. 구분자를 임의로 선택함.
SELECT department_name || q' [Department's Manager Id: ]'|| manager_id AS "Department and Manager"
FROM departments;
리터럴 문자열 사용시 리터럴 값 안에 's가 있을 경우... ERROR: ORA-01756: quoted string not properly terminated > 그러므로 대체 인용 연산자 q가 필요함.
9. 중복 행(rows)
: Query 결과의 기본 표시는 중복 행을 포함한 모든 행이므로 > DISTINCT 키워드를 사용. (=UNIQUE)
SELECT DISTINCT department_id
FROM employees;
좋은 글 잘 읽었습니다, 감사합니다.