1. SQL 언어
1) 정의
- 관계형 데이터베이스를 조작하기 위한 표준 언어이다.
- 관계 대수와 관계 해석의 수학적인 이론을 기초로 개발되었다.
- 데이터베이스의 구조를 정의하거나 데이터베이스에 저장된 데이터를 검색할 때 사용한다.
2) 특징
- 비절차적 언어
- 대화식으로 사용되거나 응용 프로그램에 삽입하여 사용
2. SQL 명령문의 종류
1) 질의어 (DQL : Data Query Language)
: 데이터베이스에 저장된 데이터를 조회하는 명령어
- SELECT
2) 데이터 조작어 (DML : Data Manipulation Language)
3) 데이터 정의어 (DDL : Data Definition Language)
4) 트랜잭션 처리어 (TCL : Transaction Control Language)
- COMMIT, ROLLBACK, SAVEPOINT
5) 데이터 제어어 (DCL : Data Control Language)
3. 테이블 인스턴스
1) 테이블 인스턴스(table instance)란
- 데이터베이스 설계시에 테이블의 구조와 칼럼의 특성을 알기 쉽게 요약한 내용이다.
- 테이블 인스턴스는 테이블의 칼럼 이름, 데이터 타입, 키 종류, NULL이나
중복 값의 허용 여부, 외래 키 그리고 칼럼에 대한 설명으로 구성된다.
4.데이터 딕셔너리를 이용한 테이블 조회
1) 데이터 딕셔너리 (Data dictionary)
- 테이블 구조 확인
=> DESC student; /*student 테이블 확인*/
5. SQL 명령문의 기초
1) SELECT
: 테이블에 저장된 데이터를 검색하기 위한 명령문, SQL 명령문 중에서 가장 자주 사용하는 명령문이다.
2) SQL 명령문의 표준 형식
- 데이터 조회를 위해서는 SELECT 절과 FROM 절이 반드시 존재해야 한다.
- WHERE, GROUP BY, HAVING, ORDER BY 절은 필요에 따라 선택적으로 사용 가능하다.
- SQL 명령문 작성시 규칙
• SQL 명령문에서 대소문자를 구분하지 않는다.
• 가능하면 절은 줄을 구분하여 작성하고, 들여쓰기를 사용하여 읽기 쉽게 작성할 것을 권장한다.
3) 중복행 제거
- SELECT 절에 DISTINCT 키워드를 사용하여 중복행을 제거할 수 있다.
- 예) student 테이블에서 deptno 칼럼을 조회할 때
=> SELECT deptno FROM student; ------- 중복되는 행이 나온다.
=> SELECT DISTINCT deptno FROM student; ------- 중복되는 행이 나오지 않는다.
4) 칼럼에 별명 부여하기
- 별명을 부여하는 일반적인 경우
• 칼럼 이름이 너무 길어서 한 화면에 칼럼 이름 전체를 출력하기 어려운 경우
• SQL 함수나 산술 연산에 의해 일시적으로 만들어지는 가상 칼럼이 생기는 경우
- 별명 부여 방법
• 칼럼 이름과 별명 사이에 공백을 추가하는 방법
=> SELECT deptnoo'DP' FROM student;
• 큰따옴표 (“”)를 사용하는 방법
: 칼럼 이름과 별명 사이에 공백을 추가하고 큰따옴표를 사용한다.
(별명에 공백, 특수문자, 대소문자가 포함된 경우 주로 사용한다.)
=> SELECT deptno "D P" FROM student;
5) 합성 연산자
- 합성(concatenation)연산자 (||)
• 하나의 칼럼과 다른 칼럼, 산술 표현식 또는 상수 값과 연결하여 하나의 칼럼처럼 출력할 경우에 사용한다.
• 출력 형식은 합성 연산자를 기준으로 좌, 우로 연결된 칼럼의 데이터가 하나의 칼럼 데이터처럼 출력된다.
• 합성연산자를 사용하여 리터럴(literal) 문자를 출력할 수 있다.
리터럴 문자를 칼럼 값처럼 출력할 경우, 리터럴 문자를 단일 인용부호(‘’) 사이에 포함하여 사용
• 예) 전인하 학생의 키는 176(cm)이고, 몸무게는 72(kg)이다.
=> SELECT name || ' 학생의 키는 ' || height || '(cm)이고, 몸무게는 ' || weight || '(kg)이다.'
FROM student;
6) 산술 연산자
- 산술 연산자(+,-, *, /)
• 칼럼 값에 산술 연산자를 적용하여 계산된 결과를 출력할 수 있는 기능을 제공한다.
• 산술연산은 숫자 또는 날짜 타입으로 지정된 칼럼에만 사용 가능하다.
• 산술연산자의 우선순위는 수학에서의 산술 연산자의 우선순위와 동일하다.
괄호를 사용하여 우선순위를 변경할 수 있다.
• 예) 학생의 몸무게를 pound로 환산하고 weight_pound 라는 별명으로 출력하기 (1kg = 2.2pound)
=> SELECT name, weight, weight*2.2 AS weight_pound
FROM student;
'SQL' 카테고리의 다른 글
#5. 집합 연산자와 행의 정렬 (0) | 2022.04.12 |
---|---|
#4. 조건 검색 (0) | 2022.04.12 |
#3. 데이터 타입(ORACLE) (0) | 2022.04.11 |
#1. 데이터베이스와 데이터베이스 관리 시스템 (0) | 2022.04.10 |