SQL 이것저것

[SQL] SQL 데이터 다루기

agingcurve 2022. 8. 5. 09:44
반응형

데이터 베이스란?

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

 

데이터베이스의 종류에 따라 사용 방법이 조금씩 다르지만, 데이터베이스에서 검색과 분석에 사용되는 기본 사용 방법은 데이터베이스 종류와 상관없이 동일

 

SQL 이란

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

 

 

데이터베이스는 다양한 종류를 가지고 있지만, 가장 많이 사용되는 종류는

관계형 데이터베이스

비관계형 데이터베이스

 

관계형 데이터베이스

DB는 관계형 데이터베이스, 비관과형 데이터 베이스가 있으며 관계형 DB는 서로 관계가 있다는 의미
비 관계형 DB란 데이터가 서로 관계가 3개의 테이블이 연결되어 있는 것이 관계형 DB라고 할 수 있으며,

각 id들이 하늘색 선으로 만들어져 있으며, id가  user_id와 유저테이블이 연결이 되며 테이블마다 연결되는 것이 
행과 열 컬럼은 각 열의 값을 의미하며 테이블은 고유한 이름으로 구분하게 된다.

 

테이블의 구성요소

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

 

 

SELECT문의 기본 문법

SELECT(명령) title, author(검색할 컬럼)
FROM book;(테이블)

검색할 데이터에 *을 입력하면 모든 데이터 검색

 

DISTINCT

뚜렷한, 분명한 뒤에 나오는 컬럼의 중복을 제거하고 보여준다.

DISTINCT 뒤에 2개 이상의 컬럼을 적으면, 한 쪽 컬럼에 중복이 있어도 다른 쪽 컬럼의 값이 다르면 다르게 취급한다.

SELECT(명령) DISTINCT title, author(검색할 컬럼)
FROM book;(테이블)

 

 

WHERE

제목이 '돈키호테'인 책 데이터를 book 테이블에서 검색

SELECT(명령) * (검색할컬럼)
FROM book(테이블)
WHERE title = '돈키호테'(조건);

 

 

여러 개의 조건을 사용해 데이터를 검색

국어 점수가 90 이상이거나, 수학 점수가 80을 초과하는 값을 검색

 

비교연산자

 

score 테이블에서 국어(korean) 성적이 90 이상인 값 검색

SELECT(명령) * (검색컬럼)
FROM score (테이블)
WHERE korean >= 90; (조건)

복합조건 연산자

 

복합조건 연산자를 사용하여 검색

score 테이블에서 국어(korean) 성적이 90 이상이거나 수학(math) 성적이 80 초과인 값 검색

SELECT * 
FROM score
WHERE korean >= 90 OR math > 80;

 

기타 연산자

score 테이블에서 수학(math) 성적이 80과 90사이의 값 검색

SELECT * 
FROM score
WHERE math BETWEEN 80 AND 90;