스파르타코딩클럽에서 SQL 입문 강의를 듣게되었다
강의명은 [엑셀보다 쉽고 빠른 SQL] 입니다.
국비지원강의였고 기간도 3주 정도라 좋음
또 완강하면 네이버페이 3만원 준대서 덥썩 신청
아직 모두 듣지는 않았지만 1,2주차 정리해놓으면 좋을 것 같아서
정리해두기
데이터베이스와 대화를 하기 위한 언어!
SQL이란 언어를 이용하여 데이터베이스에 요청을 하는 질의는 Query라고 한다.
DBeaver
강의에서는 DBeaver 라는 도구를 사용했다.
코딩 시작할 때 설치 과정이 제일; 어려운데 이건 그나마 쉬웠다
Server Host, Database, Udername, Password를 입력해서
강의에서 준비되어있는 서버에 연결함
데이터베이스란 '데이터가 저장되어있는 큰 폴더'이다.
데이터베이스라는 폴더가 있고, 그 안에 '테이블'이란 파일이 있다고 생각해도 좋다.
테이블의 각 열은 '컬럼' 혹은 '필드'라고 부른다.
강의에서는 총 3개의 테이블을 사용한다.
데이터베이스에서 요청을 하기 위한 '언어' 이므로
작성 전에 어떤 요청을 해야할지 생각해봐야한다.
SELECT: 데이터를 가져오는 기본 명령어
FROM: 데이터를 가져올 때 테이블을 특정함 (어떤 테이블에서 가져올래?)
모든 것을 조회할 때는 SELECT 옆에 (*)을 써준다.
가장 기본적인 구조임!
원하는 컬럼을 뽑고 싶을 땐 SELECT 뒤에 컬럼명을 써준다.
컬럼이 여러 개일 경우 (,) 쉼표로 구분하여 작성한다.
원하는 컬럼만 뽑았지만, 평소에 사용하는 명칭과 다를 수 있다.
혹은 데이터 추출 시 구분되어야하는 값 (최신 가입 유저, 최대 주문 금액 등)이 있을 수 있어서 별명을 지정하여 변경한다
별명 지정 방법: 컬럼 옆 쪽에 별명을 적어준다
- 방법 1: 컬럼1 as 별명1
- 방법 2: 컬럼2 별명2 (한칸 띄고 작성)
별명을 지을 때 영문, 언더바인 경우 별명만 적고
특수문자, 한글인 경우 큰 따옴표 "별명"안에 넣어준다.
order_it → order_no
restaurant_name → "식당 이름"
WHERE 문법을 이용하면 전체 데이터 중 원하는 데이터만 필터링을 할 수 있다.
기본 구조
SELECT *
FROM 테이블
WHERE 필터링 조건 (eg. 20살 이상)
= 같다
<> 다르다
age>21 크다
< 작다
<= 작거나 같다
BETWEEN: A와 B사이 (예시: 나이가 10과 20 사이)
where age between 10 and 20
IN: '포함'하는 조건 주기 (예시: 나이가 15,21,31세인 경우)
age in (15,21,31)
cuisine_type in ('Korean','Japangese')
Like: 완전히 똑같지는 않지만 비슷한 값을 조건으로
name like '김%' -김으로 시작하는 이름
name like '%아' - 아로 끝나는 이름
restaurant_name like '%Next%' - 식당 이름에 Next가 포함