내일배움 사전캠프

[내일배움 사전캠프 3일차]SQL 기본 개념 익히기

hyeon-ji 2026. 4. 29. 17:15

SQL 강의 1주차를 학습하며 기본적인 개념과 문법을 학습했다.


▶ 데이터 가져오기

문법 의미
SELECT 데이터를 가져오는 기본 명령어로, 데이터를 조회하는 모든 Query에 사용된다.
FROM 데이터를 가져올 Table을 특정해주는 문법이다.
* 모든 Column을 가져와준다는 의미의 문법이다.
select *
from

 

▶ 데이터 name 변경하기

구분 영문, 언더바 특수문자, 한글
방법 별명만 입력 "별명"으로, 큰 따옴표 안에 입력
예시 ord_no "ord no"
"주문번호"
select restuarant_name as "음식점", addr sddress
from food_orders

 

위와 같이 문법을 작성하면 수많은 데이터 중에 내가 원하는 restuarant_name과 addr의 데이터만 뽑아서 가져올 수 있다.

추가로 restuarant_name as "음식점", addr sddress라고 작성함으로써 해당 데이터 name을 사용자화 할 수 있다.

 

▶ where절 사용하여 조건문 입력

select *
from 테이블
where 필터링 조건

 

내가 원하는 필터링 조건을 입력하여 모든 데이터가 아닌 필터에 알맞는 데이터만을 불러온다.

select *
from customers
where age=21

select *
from customers
where gender='male'

 

▶ BETWEEN, IN, LIKE 문법 사용하기

문법 의미
BETWEEN A와 B 사이
IN '포함'해주는 조건 주기
LIKE 완전히 똑같지는 않지만, 비슷한 값을 조건으로 주기
select *
from customers
where age between 21 and 23

select *
from customers
where age in (21, 25, 27)

select *
from customers
where name like '김%'

 

→ LIKE문 사용 시 %사용 잊지 않고 작성해주는 것이 중요한 것 같다.

EX) name like '김%' → '김'으로 시작하는 이름

                       '%현%' → 중간에 '현'이 들어가는 이름

                       '%임' → '임'으로 끝나는 이름

 

▶ AND, OR, NOT 문법 사용하기

문법 의미
AND 그리고
OR 또는
NOT 아닌
select *
from payments
where pay_type='card'
or vat<=0.2

 

결과를 보면 pay_type'card'이거나 vat 0.2 이하인 데이터가 추출된 것을 확인할 수 있다.and가 아니기 때문에 교집합의 결과가 아니라 합집합의 결과로 도출된 것을 볼 수 있다.

 

 

▶ 실습 문제 풀기

select restaurant_name, customer_id
from food_orders
where food_preparation_time between 20 and 30
and cuisine_type='korean'


 오늘 SQL의 기본 강의를 학습하며 기본 개념과 문법들을 익힐 수 있었다. 강의를 따라 실습을 진행하면서 데이터가 추출되지 않았던 적이 있었다. LIKE 문법 사용 중에 %를 붙이지 않아 데이터가 추출되지 않았다는 것을 알게되었고, %를 붙이는 것을 항상 염두하며 LIKE문을 사용해야겠다고 다짐을 하였다.

 또 1주차 SQL 강의를 모두 학습한 뒤 실습을 진행하였는데, 생각보다 잘 풀리지 않아 당황했다. 강의를 들으며 기본 실습을 따라할 때는 생각보다 쉬웠고 별거없네? 라는 생각을 했었는데, 직접 문법을 작성하며 결과를 도출해나가려고 하니 생각이 잘 나지 않고 생각을 오래 하게 되었던 것 같다. 실습 도중 힌트 보기가 있어 힌트를 보며 인사이트를 얻었지만, 다음부터는 최대한 힌트를 보지 않고 실습 문제를 풀어나가 보겠다는 생각을 했다.