티스토리 뷰

개발공부/🛢️ SQL

[SQL] SQL이란 무엇인가?

2022. 9. 13. 16:41

1️⃣  데이터베이스 란?

 

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

 

-  Maria DB, Amazon Redshift, Oracle DB 등 많은 종류가 존재한다.

-  데이터베이스의 종류에 따라 사용 방법이 조금씩 다르다.

-  하지만, 데이터베이스에서 검색과 분석에 사용되는 기본 사용 방법은 데이터베이스 종류와 상관없이 동일하다.

 

 

 

1)  관계형 데이터베이스

:  하나 이상의 테이블로 이루어지며 서로 연결된 데이터를 가지고 있다.

 

ex)  MySQL, Oracle, MSSQL 등

 

 

✅  관계형 데이터베이스는 SQL을 통해 제어 가능하다.

 

이미지출처 : 엘리스 SQL로 데이터 다루기 - 1장 SQL 시작하기 강의자료

 

 

 

✅  테이블의 구성요소

 

-  컬럼(Column)과 레코드(Record)로 구성된다.  ( 컬럼  =  주제, 제목  /  레코드  =  내용, 값 )

-  모든 테이블은 고유의 이름으로 구분한다.

 

이미지출처 : 엘리스 SQL로 데이터 다루기 - 1장 SQL 시작하기 강의자료

 

 

 

 

 

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;

이미지출처 : 엘리스 SQL로 데이터 다루기 - 1장 SQL 시작하기 강의자료

 

 

- 비교 연산자

 

연산자 예시 의미
>, < 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
프로필사진
개발자 삐롱히

프론트엔드 개발자 삐롱히의 개발 & 공부 기록 블로그