SQL이란?
<aside> 💡
(Tip!) SQL을 활용하여 데이터베이스에 요청을 하는 질의를 ‘Query’라고 한다.
</aside>
데이터베이스 개념 이해하기
<aside> 💡
데이터베이스 = ‘데이터가 저장되어 있는 큰 폴더’
</aside>
→ ‘데이터베이스’라는 폴더가 있고, 그 안에 ‘테이블’이라는 파일이 있다고 생각할 수 있음
SQL 기본 구조 + 데이터 조회
select *
from food_orders
SELECT
FROM
*
필요한 항목만 뽑아서 사용하기
select 컬럼1, 컬럼2
from 테이블
#방법1
컬럼1 as 별명1
#방법2
컬럼2 별명2
별명 지을 때 유의사항
| 구분 | 영문, 언더바 | 특수문자, 한글 |
|---|---|---|
| 방법 | 별명만 적음 | 큰 따옴표 안에 적어줌 |
| 예시 | ord_no | “ord_no” |
| ”주문번호” |
select order_id as ord_no
restaurant_name "식당 이름"
from food_orders
[실습] 컬럼을 선택하고 별명 지정하기
SELECT order_id ord_no
, price "가격"
, quantity "수량"
from food_orders
SELECT name "이름"
, email "e-mail"
from customers
WHERE
from문 다음에 적어주어야 함WHERE의 구조
select *
from 테이블
where 필터링 조건
#예시 - 고객 (customers) 테이블에서 21살인 사람 필터링
select *
from customers
where age=21
#예시 - 고객 (customers) 테이블에서 남성 필터링
SELECT *
from customers
WHERE gender = 'male'
WHERE절을 이용한 필터링
주문 (food_orders) 테이블에서 한국음식을 주문한 경우만 조회하기
SELECT *
from food_orders
WHERE cuisine_type = 'Korean'
결제 (payments) 테이블에서 카드로 결제한 경우만 조회하기
SELECT *
from payments
WHERE pay_type = 'card'
필터링을 할 때 유용한 표현 알아보기
비교 연산자의 종류
| 비교 연산자 | 의미 | 예시 |
|---|---|---|
| = | 같다 | age=21 |
| gender=’female’ | ||
| <> | 같지 않다 (다르다) | age<>21 |
| gender <> ‘female’ | ||
| > | 크다 | age>21 |
| >= | 크거나 같다 | age>=21 |
| < | 작다 | age<21 |
| <= | 작거나 같다 | age<=21 |
# 나이가 21살 이상
select *
from customers
where age>=21
다양한 조건의 종류
# 나이가 21과 23 사이
select *
from customers
where age BETWEEN 21 and 23
# 나이가 21, 25, 27
select *
from customers
where age IN (21,25,27)
# 이름이 윤주아,정현준
select *
from customers
where name IN ('윤주아','정현준')
like ‘시작문자%’like ‘%포함문자%’like ‘%끝문자’# 성씨가 김인 고객들 조회
select *
from customers
where name LIKE '김%'
WHERE 절에 여러 조건을 적용하기
‘나이가 20세 이상인’, ‘여성 고객’ 두가지 조건 적용
여러 개의 조건을 적용할 때 사용되는 연산이 ‘논리연산’
논리연산의 종류
| 논리연산자 | 의미 | 예시 |
|---|---|---|
| AND | 그리고 | age>20 **and** gender=’female’ |
| → 나이가 20세 이상이고, 여성 | ||
| OR | 또는 | age>20 **or** gender=’female’ |
| → 나이가 20세 이상이거나, 여성 | ||
| NOT | 아닌 | **not** gender=’female’ |
| → 여성이 아닌 |
[실습] 여러 조건을 적용하여 데이터 필터링하기
주문(food_orders) 테이블에서 한국 음식이면서, 가격이 30,000원 이상인 경우 조회
결제(patments) 테이블에서 카드로 결제했거나, vat율이 0.2 이하인 경우 조회