티스토리 뷰
1️⃣ 데이터베이스 란?
여러 사람이 공유해 사용할 목적으로 통합하여 관리되는 데이터의 모음
- Maria DB, Amazon Redshift, Oracle DB 등 많은 종류가 존재한다.
- 데이터베이스의 종류에 따라 사용 방법이 조금씩 다르다.
- 하지만, 데이터베이스에서 검색과 분석에 사용되는 기본 사용 방법은 데이터베이스 종류와 상관없이 동일하다.
1) 관계형 데이터베이스
: 하나 이상의 테이블로 이루어지며 서로 연결된 데이터를 가지고 있다.
ex) MySQL, Oracle, MSSQL 등
✅ 관계형 데이터베이스는 SQL을 통해 제어 가능하다.
✅ 테이블의 구성요소
- 컬럼(Column)과 레코드(Record)로 구성된다. ( 컬럼 = 주제, 제목 / 레코드 = 내용, 값 )
- 모든 테이블은 고유의 이름으로 구분한다.
2) 비관계형 데이터베이스 (NoSQL = Not Only SQL)
: 데이터들이 서로 연결되지 않는다.
ex) MongoDB, CouchDB 등
2️⃣ SQL 이란?
데이터 베이스에 접근하고 조작하기 위한 표준 언어 (Structured Query Language)
- 데이터 정의어(DDL), 데이터 조작어(DML), 데이터 제어어(DCL), 트렌젝션 제어어(TCL) 로 구성된다.
- 데이터 검색/삽입/수정/삭제, 데이터베이스 생성, 테이블 생성 등을 할 수 있다.
1) DESC : 테이블 구조 확인
DESC 테이블명;
--
DESC employees;
💡 TIP
; (세미콜론)은 한 문장의 끝을 의미한다.
명령어를 입력한 후 마지막에 ;을 입력해야 컴퓨터가 명령어를 구분할 수 있다.
2) SELECT : 테이블에서 데이터 조회
SELECT 컬럼명
FROM 테이블명;
--
SELECT title, author
FROM book;
2-a) 해당 테이블의 전체 데이터 검색하기
SELECT *
FROM 테이블명;
--
SELECT *
FROM book;
- 모든 데이터 검색하려면 * (Asterisk)를 사용한다.
- 참고로, 테이블이 5GB가 넘도록 많은 데이터를 가지고 있으면 *을 사용하여 모든 데이터를 조회 시 컴퓨터가 멈출 수 있다.
2-b) 중복 제거하기
SELECT DISTINCT 컬럼명
FROM 테이블명;
-----------------------
title author
-----------------------
어린왕자 A
-----------------------
어린왕자 B
-----------------------
SELECT DISTINCT title
FROM book;
-- result : 어린왕자
SELECT DISTINCT title, author
FROM book;
-- result : 어린왕자-A, 어린왕자-B
- 뒤에 나오는 컬럼의 중복을 제거하고 보여준다.
- DISTINCT 뒤에 2개 이상의 컬럼을 적으면, 한 쪽 컬럼에 중복이 있어도 다른 쪽 컬럼의 값이 다르면 다르게 취급한다.
2-c) 조건을 추가하여 검색하기
SELECT 컬럼명
FROM 테이블명
WHERE 조건;
--
SELECT *
FROM book
WHERE title='돈키호테';
- 책제목이 돈키호테인 데이터를 book 테이블에서 검색한다.
2-d) 조건이 여러 개일 때
SELECT *
FROM score
WHERE korean >= 90 OR math > 80;
- 비교 연산자
연산자 | 예시 | 의미 |
>, < | N < 10 N > 10 |
N < 10 N > 10 |
>=,<= | N <= 10 N >= 10 |
N이 10 이하 N이 10 이상 |
= | N = 10 | N이 10인 값 |
!= | N != 10 | N이 10이 아닌 값 |
SELECT *
FROM score
WHERE korean >= 90;
- 복합조건 연산자
연산자 | 예시 | 의미 |
AND, && | A AND B A && B |
A 그리고 B를 모두 만족하는 값 |
OR, || | A OR B A || B |
A 또는 B인 값 |
NOT, ! | NOT A !A |
A가 아닌 값 |
SELECT *
FROM score
WHERE korean >= 90 OR math > 80;
- 기타 연산자
연산자 | 예시 | 의미 |
BETWEEN | A BETWEEN 10 AND 20 | A가 10과 20 사이에 포함된 값 (10과 20도 포함) |
IN | A IN B | B에 A가 포함된 값 |
NOT IN | A NOT IN B | B에 A가 포함되지 않은 값 |
SELECT *
FROM score
WHERE math BETWEEN 80 AND 90;
이 글은 엘리스의 AI트랙 5기 강의를 들으며 정리한 내용입니다.
'개발공부 > 🛢️ SQL' 카테고리의 다른 글
[SQL] 서브쿼리 (0) | 2022.09.16 |
---|---|
[SQL] 다수의 테이블 제어하기 (0) | 2022.09.16 |
[SQL] SQL과 함수 (0) | 2022.09.15 |
[SQL] 데이터를 제어하는 DML (데이터 조작어) (0) | 2022.09.15 |
프론트엔드 개발자 삐롱히의 개발 & 공부 기록 블로그