728x90
DQL(데이터 질의어)
- 데이터베이스에 데이터를 조회할 때 사용하는 문법
키워드
- SQL 문법에서 기능이 미리 할당되어 있는 예약어
SELECT 조회할 테이블의 컬럼 리스트 작성
FROM 조회할 테이블을 명시
키워드 + 요소 -> 절
SELECT + 컬럼리스트 -> SELECT절
FROM + 테이블명 -> FROM절
절 + 절 -> 문법
SELECT절 + FROM절 + 옵션절 -> SELECT구문
문법 기호
*(Asterisk) SELECT절에 단독으로 사용 시 : 모든 컬럼 출력
SELECT 구문
- 표현식(expression)
SQL> select last_name, salary, 12*salary+100
2 from employees;
LAST_NAME SALARY 12*SALARY+100
------------------------- ---------- -------------
King 24000 288100
Kochhar 17000 204100
De Haan 17000 204100
위의 구문 중 12*salary+100이 표현식
서브쿼리 구문으로 테이블 조회
select last_name AS name, -- AS키워드 사용하여 last_name을 name으로 명명하여 조회
commission_pct comm -- AS키워드 사용하지 않고 한칸 띄우고 적어도 위와 동일
from employees;
표현식(expression)
컬럼의 값과 숫자를 사칙연산을 사용하여 결과를 연산하는 문법
테이블과 연관없는 표현식 조회도 가능
SQL> select department_id, 1+2
2 from departments;
DEPARTMENT_ID 1+2
------------- ----------
10 3
20 3
공백,대소문자 구분해 AS 키워드 사용하고 싶을 시 큰 따옴표(" ")로 묶어서 사용
SQL> select last_name as "Name", salary*12 "Annual Salary"
2 from employees;
Name Annual Salary
------------------------- -------------
King 288000
Kochhar 204000
NULL값
- 테이블의 데이터를 입력 시 컬럼에 값을 입력하지 않으면 들어가게되는 값
- 테이블의 설정에 따라 다른 대체값이 들어갈 수도 있음.
- 표현식에 사용된 경우 NULL값이 포함된 컬럼의 경우 NULL값이 나온 행에서는 표현식의 내용과는 상관없이 연산결과가 NULL값으로 출력된다.
- 아래의 예문도 commission_pct 컬럼의 값이 NULL값인 경우 표현식 전체의 값이 NULL로 출력
SQL> SELECT last_name, commission_pct, salary*12 + salary*12*commission_pct
2 FROM employees;
NULL값이 포함되어 있어 조회결과가 NULL
LAST_NAME COMMISSION_PCT SALARY*12+SALARY*12*COMMISSION_PCT
------------------------- -------------- ----------------------------------
King
Kochhar
De Haan
Hunold
문자열 결합 ( | | )
리터럴 문자는 작은 따옴표로 감싼다 ( ' ' )
SQL> select last_name || '___' || job_id as "employees"
2* from employees
employees
--------------------------------------
Abel___SA_REP
Ande___SA_REP
Atkinson___ST_CLERK
DISTINCT 키워드
중복된 값을 제거 후 조회하며 NULL값도 하나의 값이기 때문에 조회 시 나옴
SQL> select distinct department_id
2 from employees;
DEPARTMENT_ID
-------------
100
30
90
'DB' 카테고리의 다른 글
[오라클 DB] DQL 심화학습 (0) | 2021.02.19 |
---|---|
[오라클 DB] 온라인에서 Oracle SQL 테스트하기 (0) | 2021.02.19 |
MongoDB 기본 (0) | 2021.01.30 |
[오라클 DB] 유저관리, DCL (0) | 2021.01.12 |
[오라클 DB] DB접속 및 DCL (0) | 2021.01.05 |