데이터베이스는 쉽게 말해 '데이터가 저장되어있는 큰 폴더'
DB와 저장소, 데이터의 형태 등 여러 분류가 있지만 강의에서 다룰 내용에만 집중해보기
데이터베이스 안에는 테이블이 존재
테이블은 엑셀과 같이 생김
엑셀과 유사한 구조로 데이터 가짐, 각 열은 컬럼 or 필드
SELECT문의 가장 기본적인 사항은 '어느 테이블에서 가져올까'
SELECT FROM문
원하는 곳에서 데이터를 가져오는 기본 명령어
SELECT: 데이터를 가져오는 기본 명령어, 데이터 조회하는 모든 Qurey에 사용
FROM: 데이터 가져올 테이블 특정
*: 모든 컬럼을 가져오기
ex) select * from food_orders (food_orders 테이블에 데이터 중 모든 컬럼을 가져오기)
ex.
select restaurant_name, addr
from food_orders
-> food_orders 테이블에서 restaurant_name컬럼과 addr 컬럼을 추출해서 가져오기
모든 것을 조회한다는 * 대신에 필요한 특정 컬럼만 적어냄
추출하면서 이름을 짧게 바꾸고 싶다
그런 경우 컬럼 옆에 as(alias)라 적고 적고 싶은 명칭을 써 놓기
ex) restaurant_name as 음식점, addr address (굳이 as 안써도 되긴 함)
※별명 지을 때 영문, 언더바가 있을 경우 별명만 적어도 됨, 특수문자나 한글이 있는 경우 큰 따옴표를 안에 적어야 함
데이터 중 특정 조건 필터링 해야할 때 사용
각 컬럼들에 대해 where라는 조건절을 적을 수 있음
ex. select * from customers where age=21
-> customers 테이블에서 age가 21인 데이터를 모두 추출
where 절은 from 뒤에 적어야 함
필터링 할 때 문자 사용할 경우 작은 따옴표 사용, 대소문자 구분 없이 사용 가능함
크거나 같다, 작거나 같다 <=, >=
같지 않다 <>
between: A와 B 사이
in: 포함하는 조건
Like: 완전히 같지 않지만, 비슷한 값을 조건으로 주기
ex. select * from customers
where age between 21 and 22
-> customers 테이블에서 age가 21과 22이 사이인 데이터 모두 추출
ex. select * from customers
where age in (21, 25, 27)
-> customers 테이블에서 age가 21, 25, 27인 데이터 모두 추출
ex. select * from customers
where name in ('윤주아', '정현준')
-> name이 윤주아 또는 정현준인 데이터 모두 추출
ex. select * from customers
where name like '김%'
-> customers 테이블에서 name이 '김'으로 시작하는 데이터 추출
(%- 모든 문자를 지칭한다) ex) %next%-> next가 포함된 모든 문자
필터링 조건으로 여러개 적용해야 할 경우 (논리연산)
select * from customers
where age>=21 and gender='male'
-> age는 21이상이고 gender는 'male'인 모든 데이터 추출
AND- 그리고, OR- 또는, NOT- 아닌
ex. select * from food_orders
where cuisine_type='Korean' and price>=30000
-> cuisine_type이 Korean이고 price가 30000 이상인 모든 데이터 추출