SQL을 처음 배우면서 가장 먼저 접하게 되는 것이 데이터 조회(Query) 입니다.
이번 학습에서는 SQL의 가장 기본적인 문법인 SELECT, FROM, WHERE 그리고 다양한 필터링 방법에 대해 배웠습니다.
배운 내용을 정리해보겠습니다.
SQL은 일반적인 프로그래밍 코드가 아니라 데이터베이스에 요청을 보내는 언어입니다.
즉 SQL을 작성하기 전에 가장 먼저 생각해야 하는 것은 다음과 같습니다.
이 두 가지를 먼저 생각한 뒤 Query를 작성해야 합니다.
SQL에서 데이터를 조회할 때 가장 기본이 되는 문법이 바로 SELECT 와 FROM 입니다.
| 명령어 | 역할 |
|---|---|
| SELECT | 가져올 데이터를 선택 |
| FROM | 데이터를 가져올 테이블 지정 |
| * | 모든 컬럼 조회 |
기본 문법은 다음과 같습니다.
select *
from food_orders
위 쿼리는 food_orders 테이블의 모든 데이터를 조회합니다.
모든 컬럼을 가져오는 것이 아니라 필요한 데이터만 선택해서 조회할 수도 있습니다.
select order_id, restaurant_name
from food_orders
이렇게 하면 주문번호와 식당 이름만 조회됩니다.
컬럼 이름이 길거나 보기 어려울 때는 별명(alias) 을 붙일 수 있습니다.
select order_id as ord_no,
price "가격",
quantity "수량"
from food_orders
| 컬럼 | 별명 |
|---|---|
| order_id | ord_no |
| price | 가격 |
| quantity | 수량 |
이렇게 하면 조회 결과에서 컬럼 이름이 더 보기 쉽게 변경됩니다.
데이터가 많을 때는 조건을 이용해서 필요한 데이터만 조회할 수 있습니다.
이때 사용하는 문법이 WHERE 입니다.
select *
from customers
where age = 21
위 쿼리는 나이가 21살인 고객만 조회합니다.
문자 데이터를 사용할 때는 작은 따옴표를 사용합니다.
select *
from customers
where gender = 'female'
SQL에서는 다양한 조건을 사용할 수 있습니다.
| 연산자 | 의미 | 예시 |
|---|---|---|
| = | 같다 | age = 21 |
| <> | 다르다 | age <> 21 |
| > | 크다 | age > 21 |
| >= | 크거나 같다 | age >= 21 |
| < | 작다 | age < 21 |
| <= | 작거나 같다 | age <= 21 |
예시
select *
from customers
where age >= 40
→ 40세 이상 고객 조회
필터링을 할 때 자주 사용하는 문법도 있습니다.
| 문법 | 의미 | 예시 |
|---|---|---|
| BETWEEN | 특정 범위 | age between 10 and 20 |
| IN | 특정 값 포함 | age in (15, 21, 31) |
| LIKE | 문자열 패턴 검색 | name like '김%' |
예시
select *
from food_orders
where price between 20000 and 30000
→ 2만원 ~ 3만원 사이 주문 조회
select *
from food_orders
where restaurant_name like 'B%'
→ B로 시작하는 식당 조회
조건을 여러 개 사용할 때는 논리 연산자를 사용합니다.
| 연산자 | 의미 | 예시 |
|---|---|---|
| AND | 두 조건 모두 만족 | age > 20 and gender='female' |
| OR | 둘 중 하나 만족 | age > 20 or gender='female' |
| NOT | 조건 제외 | not gender='female' |
예시
select *
from food_orders
where cuisine_type='Korean'
and price >= 30000
→ 한국 음식 + 30000원 이상 주문
SQL을 실행하다 보면 에러 메시지가 자주 발생합니다.
하지만 에러는 자연스러운 과정이며 당황할 필요는 없습니다.
자주 발생하는 에러
| 에러 상황 | 원인 |
|---|---|
| 테이블 이름 오류 | 존재하지 않는 테이블 |
| 컬럼 이름 오류 | 잘못된 필드명 |
| 문자열 따옴표 누락 | 문자 데이터에 ' ' 누락 |
중요한 것은 에러코드가 아니라 에러가 발생한 이유를 확인하는 것입니다.
이번 학습을 통해 SQL에서 데이터를 조회하는 가장 기본적인 방법을 배웠습니다.
특히 다음 개념이 중요했습니다.
SQL은 데이터 분석이나 백엔드 개발에서 매우 중요한 기술이기 때문에
기초 문법을 반복적으로 연습하면서 익숙해지는 것이 중요하다고 느꼈습니다.