🐢 데이터베이스
- 여러 사람이 공유해 사용할 목적으로 통합하여 관리되는 데이터의 모음으로 Maria DB, Amazon Redshift, Oracle DB 등 많은 종류가 존재
- DB의 종류에 따라 사용 방법이 조금씩 다르지만, DB에서 검색과 분석에 사용되는 기본 사용 방법은 데이터베이스 종류와 상관없이 동일
🐢 SQL
- 데이터 베이스에 접근하고 조작하기 위한 표준 언어
🐢 데이터베이스의 종류
- 관계형 데이터베이스 : 하나 이상의 테이블로 이루어지며 서로 연결된 데이터를 가지고 있음, 관계형 데이터베이스는 SQL을 통해 제어 가능
- 비관계형 데이터베이스(<-> 관계형 데이터베이스)
🐢 관계형 데이터베이스에서 각각의 표를 테이블이라고 함
🐢 데이터베이스는 테이블이 모여있는 집합이라고 할 수 있음
🐢 컬럼
- 테이블에서 첫번째 행, 컬럼을 기준으로 데이터를 불러옴
- 주제나 제목같은 것들
🐢 레코드
🐢 컬럼과 레코드의 예시
- ex. 컬럼 : 이름 / 레코드 : 홍길동, 김철수, 김영희
🐢 모든 데이블은 고유의 이름으로 구분
🐢 SQL의 명령어
- select : 검색을 위한 명령어, 필터기능과 비슷함, select+검색할 대상(컬럼명)
- SELECT // 검색할 데이터에 ''을 입력하면 모든 데이터 검색
- from : 데이터를 불러오는 명령어, from + 테이블명
- where : 조건, where + 조건(레코드)
// book 테이블에서 모든 책의 title과 author 컬럼을 검색
SELECT(명령) title, author(검색할 컬럼, and가 아닌 ','를 넣어줘야 함)
FROM book(테이블);
🐢 DISTINCT
- 뒤에 나오는 컬럼의 중복을 제거하고 보여준다.
- SELECT와 함께 사용함( SELECT DISTINCT ~ )
- DISTINCT 뒤에 2개 이상의 컬럼을 적으면, 한 쪽 컬럼에 중복이 있어도 다른 쪽 컬럼의 값이 다르면 다르게 취급
ex 1)
DISTINCT 제목, 저자
// 결과
A- 어린왕자
B- 어린왕자
// 뒤에 있는 column은 동일하지만 앞에 있는 column이 다르다면,
// 다른 결과값을 불러옴
ex 2)
DISTINCT 제목
// 결과 : 어린왕자
🐢 SELECT/WHERE문의 기본 문법
// 제목이 '돈키호테'인 책 데이터를 book 테이블에서 검색
SELECT *
FROM book
WHERE title = '돈키호테';
🐢 복합조건 연산자를 사용하여 검색
// score 테이블에서 korean 성적이 90이상이거나
// math 성적이 80 초과인 값 검색
SELECT *
FROM score
WHERE korean => 90 OR math > 80;
🐢 기타 연산자
연산자 | 연산의 예 | 의미 |
---|
BETWEEN | A BETWEEN 10 AND 20 | A가 10과 20 사이에 포함된 값 |
IN | A IN B | B에 A가 포함된 값 |
NOT IN | A NOT IN B | B에 A가 포함되지 않은 값 |
🐢 기타 연산자를 사용하여 검색
// score 테이블에서 수학(math) 성적이 80과 90 사이의 값 검색
// between은 나이대, 날짜에서 많이 사용함
SELECT *
FROM score
WHERE math BETWEEN 80 AND 90;