학교/DATABASE(MY SQL)

CH03) SQL 기초

서윤-정 2023. 10. 23. 02:29

01. MYSQL

MYSQL은 세계에서 가장 많이 쓰이는 오픈소스의 관계형 데이터베이스 관리 시스템(DBMS)이다. MYSQL은 스웨덴 MYSQL AB사에서 만들었으나 썬 마이크로시스템즈에서 10억 달러에 인수되었고, 썬 마이크로시스템즈가 오라클에 인수되며 같이 넘어갔다.

 

02. SQL

SQL(Structured Query Language)은 1970년대 후반 IBM이 SEQUEL(Structured English QUEry Language)이라는 이름으로 개발한 관계형 데이터베이스 언어이다.

 

 

03. 데이터 정의어(DDL)

데이블이나 관계의 구조를 생성하는 데 사용하며 CREATE, ALTER, DROP 문 등이 있다.

 

 

04. 데이터 조작어(DML)

테이블에 데이터를 검색, 삽입, 수정, 삭제할 때 사용하며 SELECT, INSERT, DELETE, UPDATE 문 등이 있다. 여기서 SELECT 문은 데이터를 조회하는 명령어라 하여 특별히 질의어라고 부른다.

 

 

05. WHERE 조건

WHERE 절 다음에 나올 수 있는 조건으로 사용할 수 있는 술어는 비교, 범위, 집합, 패턴, NULL 등이 있다.

 

 

06. 집계 함수

테이블의 각 열에 대해 계산을 하는 함수로 SUM, AVG, MIN, MAX, COUNT의 다섯 가지가 있다.

 

 

07. GROUP BY

속성의 공통 값에 따라 그룹을 만드는 데 사용하는 명령이다.

 

 

08. HAVING 

GROUP BY 절의 결과 나타나는 그룹을 제한하는 역할을 한다.

 

 

09. 조인

한 테이블의 행을 다른 테이블의 행에 연결함으로써 두 개 이상의 테이블을 결합하는 연산이다.

 

 

10. 동등 조인(내부 조인)

동등조건에 의하여 테이블을 조인하는 것을 동등조인이라고 한다. 조인이라고 하면 대부분 동등조인을 말한다. 동등조인은 내부조인이라고도 한다.

 

 

11. 부속질의

SELECT 문의 WHERE 절에 또 다른 테이블 결과를 이용하기 위해 다시 SELECT 문을 괄호로 묶는 것을 부속질의라고 한다. 부속질의는 질의가 중첩되어 있다는 의미에서 중첩질의라고도 한다.

 

 

12. 상관 부속질의

상관 부속질의는 상위 부속질의와 하위 부속질의가 독립적이지 않고 상위 부속질의의 투플을 이용하여 하위 부속질의를 계산하는 질의를 말한다.

 

 

13. 투플 변수

FROM 절의 테이블 이름 뒤에 테이블의 다른 이름을 붙여주는 것을 투플 변수라고 한다.

 

 

14. 집합 연산

SQL에서 집합 연산은 합집합을 UNION으로 나타낸다. MYSQL은 MINUS, INTERSECT 연산자가 없다. MINUS 연산자는 NOT IN, NOT EXISTS, LEFT OUTER JOIN으로 대신 나타내고, INTERSECT 연산자는 JOIN 또는 IN 연산으로 대신할 수 있다.

 

 

15. EXISTS

원래 단어에서 의미하는 것과 같이 조건에 맞는 투플이 존재하면 결과에 포함시킨다. EXISTS는 부속질의문의 어떤 행이 조건에 만족하면 참이다. 반면 NOT EXISTS는 부속질의문의 모든 행이 조건에 만족하지 않을 때만 참이다.

 

 

16. CREATE

테이블을 구성하고, 속성과 속성에 관한 제약을 정의하며, 기본키 및 외래키를 정의한다.

 

 

17. ALTER

생성된 테이블의 속성과 속성에 관한 제약을 변경하며, 기본키 및 외래키를 변경한다.