2과목. SQL 기본 및 활용
1장. SQL 기본
2절. SELECT 문
# SQL 종류(기능에 따라 구분함)
- DDL(Data Definition Lanaguage)
· CREATE
· ALTER
· DROP
· TRUNCATE: 테이블의 구조는 두고 데이터만 다 지우는 것(전체가 지워지고 돌이킬 수 없음)
- DML(Data Manipulation Language)
· INSERT
· DELETE
· UPDATE
· MERGE
- DCL(Data Control Language)
· GRANT: 권한 부여
· REVOKE: 권한 회수
- TCL(Transaction Control Language)
· COMMIT
· ROLLBACK: COMMIT을 하지 않은 상태면 사용가능
- DQL(Data Query Language)
· SELECT
* SELECT 문은 SQL 종류 중 어디에도 속하지 않아서 SELECT 문을 위한 DQL이 등장함
# SELECT 문의 구조
- SELECT 문은 다음과 같이 6개 절로 구성
- 각 절의 순서대로 작성해야 함(GROUP BY와 HAVING은 서로 바꿀 수 있지만 보통은 사용하지 않음)
- SELECT 문의 내부 파싱(문법적 해석)순서는 나열된 순서와는 다름
- FROM > WHERE > GROUP BY > HAVING > SELECT > ORDER BY 순서대로 실행
# SELECT 절
- SELECT 문장을 사용하여 불러올 컬럼명, 연산 결과를 작성하는 절
- ‘*’을 사용하여 테이블 내 전체 컬럼명을 불러올 수 있음
- 원하는 컬럼을 ‘,’로 나열하여 작성 가능(순서대로 출력됨)
- 표현식: 원래의 컬럼명을 제외한 모든 표현 가능한 대상(연산식, 기존 컬럼의 함수 변형식 포함)
- 문법
SELECT * or 컬럼명
FROM 테이블명 or 뷰명
- 특징
· SELECT 절에서 표시할 대상 컬럼에 Alias(별칭) 지정 가능
· 대소문자를 구분하지 않아도 인식함
* 컬럼 Alias(별칭)
- 컬럼명 대신 출력할 임시 이름 지정(SELECT 절에서만 정의 가능, 원본 컬럼명은 변경되지 X)
- 컬럼명 뒤에 AS 와 함께 컬럼 별칭 전달(AS는 생략 가능)
- 특징 및 주의사항
· SELECT 문 보다 늦게 수행되는 ORDER BY 절에서만 컬럼 별칭 사용 가능(그 외 절에서 사용시 에러)
· 별칭에 한글 사용 가능
· 이미 존재하는 예약어는 별칭으로 사용 불가
ex) avg, count, decode, SELECT, FROM 등
· 다음의 경우 별칭에 반드시 쌍따옴표 전달 필요
1) 별칭에 공백을 포함하는 경우
2) 별칭에 특수문자를 포함하는 경우(“_” 제외)
3) 별칭 그대로 전달할 경우(입력한 대소를 그대로 출력하고자 할 때)
# FROM 절
- 특징
· 데이터를 불러올 테이블명 또는 뷰명 전달
· 테이블 여러 개 전달 가능(컴마로 구분) ➪ 조인 조건 없이 테이블명만 나열 시 카티시안 곱이 발생함!
· 테이블 별칭 선언 가능(AS 사용 X)
· ORACLE 에서는 FROM절 생략 불가 ➪ 의미상으로 필요없는 경우에는 DUAL 테이블 선언함
* ORACLE 23c 버전부터는 생략 가능
· MSSQL 에서는 FROM 절이 필요 없을 경우 생략 가능 ➪ 예를 들어 오늘 날짜를 조회할 때 자체 함수가 있기 때문에 생략 가능
* 뷰: 테이블과 동일하게 데이터를 조회할 수 있는 객체이지만 테이블처럼 실제 데이터가 저장된 것이 아닌, SELECT 문 결과에 이름을 붙여 그 이름만으로 조회가 가능하도록 한 기능
'🖊️Certificate > 📌SQLD' 카테고리의 다른 글
[SQLD] 2과목 - 1장) 4절. WHERE 절 (0) | 2024.03.07 |
---|---|
[SQLD] 2과목 - 1장) 3절. 함수 (1) | 2024.03.06 |
[SQLD] 2과목 - 1장) 1절. 관계형 데이터베이스 개요 (0) | 2024.03.06 |
[SQLD] 1과목 - 2장) 5절. 본질식별자 vs 인조식별자 (0) | 2024.03.06 |
[SQLD] 1과목 - 2장) 4절. NULL 속성의 이해 (2) | 2024.03.05 |
댓글