본문 바로가기
SQL

SQL 데이터 베이스 디비 종류 이유 DML

by Ele(단단) 2021. 7. 14.
반응형

1. 데이터 베이스란?

> 여러 사람이 공유해 사용할 목적으로 통합하여 관리되는 데이터의 모음

> Maria DB, Amazon Redshift, Oracle DB 등 많은 종류가 존재

2. SQL

> Structured Query Language의 약자로 데이터 베이스에 접근하고 조작하기 위한 표준 언어

3. 관계형 데이터베이스

> 하나 이상의 테이블로 이루어지며 서로 연결된 데이터를 가지고 있으며, SQL을 통해 제어 가능

RDB 구조 예시

4. 테이블의 구성요소

> 컬럼(Column)과 레코드(Record)로 구성된 표 모든 테이블은 고유의 이름으로 구분

5. DML(Data Manipulation Language)

  • insert
  • update
  • delete
  • select

Insert

  • 테이블에 데이터 삽입
INSERT INTO book(id, title, author, publisher)
			명령 테이블 컬럼
VALUES('3', '햄릿', '윌리엄 셰익스피어', '엘리스 출판');
			추가할 데이터
                        
‘햄릿’ 책 데이터를 book 테이블에 추가

Update

  • 데이터 내용 수정
    UPDATE book SET title = '돈키호테 1' WHERE title = '돈키호테';
     명령 테이블	변경할 값		조건
     책 제목(title)이 ‘돈키호테’인 데이터의 제목(title)을 ‘돈키호테 1’로 변경

Delete

  • 데이터 삭제
    DELETE FROM book WHERE title = '돈키호테 1';
    명령 	테이블		조건
    제목이 ‘돈키호테 1’인 책 데이터를 book 테이블에서 삭제

select

  • 모든 컬럼 조회
    select * from student;
  • 필요한 컬럼 조회
    select age, name from student;

select 문법 순서

  1. select
  2. from
  3. where
  4. group by
  5. having
  6. order by

> 쿼리의 실행 순서는 from ▶ where ▶ group by ▶having ▶ select ▶ order by

Where

  • 컬럼 조회의 조건
    select * from student where id = 1;
  • and, or 조건
    select * from student where gender = 'F' and(or) name = 'Aria';
  • like 조건
    % 로 표현
    select * from student where title = '%data%';

Limit

  • 조회 결과 행의 수 제한
    select * from student limit 5;

Group By

  • 특정 칼럼 기준의 데이터 그룹핑
    select title from book group by author;

Order by

  • ASC : 오름차순 1 2 3 4 5
  • DESC : 내림차순 5 4 3 2 1
    select * from book order by title asc;

Distinct

  • 중복 행을 제거
    select distinct title, author from book;

Alias

  • 칼럼에 별칭을 주고 조회
    select title 'book_name' from book where id = 1;

연산자

비교 연산자

 

복합조건 연산자
기타 연산자

함수

계산 함수

  • max
  • min
  • count (Null인 데이터는 제외)
  • avg
  • sum

 

> select 계산함수(칼럼) from 테이블;

JOIN

INNER JOIN : 두 테이블의 정보를 한 번에 조회

SELECT * FROM rental INNER JOIN user ON user.id = rental.user_id;
명령 검색할 컬럼 테이블 	연결할 테이블 		조건

LEFT JOIN : 왼쪽 테이블의 모든 값을 포함하여 연결

SELECT * FROM user LEFT JOIN rental ON user.id = rental.user_id;
검색할 컬럼 테이블 	연결할 테이블		조건

 

RIGHT JOIN : 오른쪽 테이블의 모든 값을 포함하여 연결

SELECT * FROM user RIGHT JOIN rental ON user.id = rental.user_id;
검색할 컬럼 테이블 	연결할 테이블		조건

서브쿼리

> 하나의 쿼리 안에 포함된 또 하나의 쿼리 메인 쿼리가 서브쿼리를 포함하는 종속적인 관계

• 알려지지 않은 기준을 이용한 검색에 유용

• 메인 쿼리가 실행되기 이전에 한 번만 실행

• 한 문장에서 여러 번 사용 가능

 

SELECT * FROM employee WHERE 급여 > (SELECT 급여 FROM employee WHERE 이름=‘ele’);
ele의 급여보다 많은 받는 사람들을 조회

서브쿼리 사용시 주의사항

1. 서브쿼리는 괄호와 함께 사용되어야 한다.

2. 서브쿼리 안에서 ORDER BY 절은 사용할 수 없다.

3. 서브쿼리는 연산자의 오른쪽에 사용되어야 한다.

4. 서브쿼리는 오로지 SELECT문으로만 작성 할 수 있다.

 

 

반응형

'SQL' 카테고리의 다른 글

mssql 오류 개체 xxx 열 xxx에 종속되어 있습니다  (0) 2023.03.21
mssql select문 사용법 예제  (0) 2023.03.20
MSSQL INSERT 사용법 예시 예제  (0) 2023.03.19

댓글