SQL은 관계형 데이터베이스(RDBMS) 내 데이터를 관리하기 위해 설계 된 프로그래밍 언어
SQL은 Structured Query Language 의 약어
SQL의 구성 요소
Data Definition Language (DDL)
CREATE 명령어 사용하여 테이블, 뷰, 인덱스와 같은 DB 객체 생성Data Manipulation Language (DML)
INSERT 명령 사용하여 데이터베이스 새 레코드 지정Data Control Language (DCL)
GRANT 명령 사용하여 특정 애플리케이션이 하나 이상 테이블 조작하도록 허용SQL은 선언형 언어라 문법이 자연어처럼 읽힘
SELECT, INSERT, UPDATE, DELETE술부는 ture false unknown 으로 평가될 수 있는 조건으로 특정됨
예시
SELECT
first_name
FROM
employees
WHERE
YEAR(hire_date) = 2000;
위에서 볼 수 있듯이, 보통 문장 처럼 읽힘
SELECT first_name, FROM employees, WHERE 은 SQL문의 절(clauses)
SELECT, FROM 절은 필수WEHRE 과 같이 다른 절들은 옵션SQL은 기술이 없는 사람들을 염두에 두고 만들어졌기 때문에, 매우 간단하고 쉽게 이해 가능
SQL은 많은 언어로 이루어져 있다.
; 으로 끝난다.SELECT
first_name, last_name
FROM
employees;
DELETE FROM employees
WHERE
hire_date < '1990-01-01';
각 명령어는 리터럴, 키워드, 식별자, 표현문 등의 토큰으로 이루어져 있다.
리터럴은 상수로 알려진 명백한(explicit) 값이다.
문자 리터럴은 따옴표로 감싸진 하나 이상의 알파벳 문자로 이루어져있다.
'John'
'1990-01-01'
'50'
''로 감싸져있기에 SQL은 이를 문자 리터럴로 다룬다.'John' 과 'JOHN' 은 다르다.수 리터럴은 정수, 소수, 과학적 표기법 등을 나타낸다.
200
-5
6.0221415E23
SQLdms x'0000'의 표기법으로 이진값을 표현한다.
x'01'
x'0f0ff'
SELECT, INSERT, UPDATE, DELETE, DROP식별자는 테이블, 컬럼, 인덱스 등의 DB 특정 객체를 나타낸다.
Select * From employees;
SELECT * FROM EMPLOYEES;
select * from employees;
SELECT * FROM employees;
SQL 명령어들의 가독성 향상을 위해 다음과 같은 룰을 따른다. (본 글의 내용에서는)
SQL 문을 설명하기 위해 SQL 주석을 사용한다.
주석은 연이은 두 하이픈 -- 으로 나타낸다.
SELECT
employee_id, salary
FROM
employees
WHERE
salary < 3000;-- employess with low salary
여러줄의 설명이 필요할 때는 C 스타일의 표기법 /**/ 을 사용하면 된다.
/*
increase 5% for employees whose salary is less than 3,000
여러줄을 허용한다!
*/
SELECT
employee_id, salary
FROM
employees
WHERE
salary < 3000;
참고 링크: https://www.sqltutorial.org/