# Structured Query Language
MySQL, Oracle, SQLite, PostgreSQL 등이 있다.
데이터베이스 용 프로그래밍 언어 - SQL
관계형 데이터 베이스 SQL
비관계형 데이터 베이스 NoNSQL
# SQL DATABASE
DATABASE SERVER - 여러 DATABASE를 관리
DATABASE TABLE - DTATABASE안에는 TABLE이 있다
각각의 TABLE - row와 column으로 구성되어 있다.
이러한 DATA를 관리하기 쉽도록하는 것이 데이타 베이스이다.
# query
질의문 query를 통하여 데이터 베이스에 원하는 데이터만을 추려서 가져올 수 있다.
# DBMS(DATABASE MANAGE SYSTEM)
이런 데이터 베이스를 관리하는 시스템으로 MariaDB, Oracle, MySQL, MongoDB, 등등이 있다.
table에 colomn을 색인(index)화 하여 검색 속도를 높인다. 데이터베이스 안의 레코드를 처음부터 fullscen하지 않고, B+ Tree로 구성된 구조에서 index 파일 검색으로 속도를 향상시킨다.
DATA 조회하기
SELECT email FROM sutudents WHERE email LIKE "%naver%"
# JOIN
INNER JOIN
SELECT
A.NAME, B.AGE
FROM EX_TABLE A
INNER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP
LEFT JOIN
SELECT
A.NAME, B.AGE
FROM EX_TABLE A
LEFT OUTER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP
RIGHT OUTER JOIN
SELECT
A.NAME, B.AGE
FROM EX_TABLE A
RIGHT OUTER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP
FULL OUTER JOIN
SELECT
A.NAME, B.AGE
FROM EX_TABLE A
FULL OUTER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP
추가로 알아보기 ORM - SQL문을 직접쓰지 않고 python node.js 등의 환경에서 SQL을 다룰수 있도록 해준다.