어제 계획한대로 SQL 공부를 시작했다.
파이썬 1주차와 비교해보면 SQL쪽의 난이도가 훨씬 쉬워보이는건 아직 내가 초심자라 그럴거라 생각한다.
오늘의 핵심 학습 키워드
#SELECT #FROM #WHERE
정말이다. 저 3개의 키워드면 일단 SQL에서 왠만한 데이터 조회는 다 되는 것 같다.
SQL 설치 및 서버 접속이 완료되었다는 가정 하에, 우선 상기 명령문을 사용해 기본적인 데이터 조회를 시작해보자.
1. 데이터 전체 조회하기
우선, 조건문에 대한 예시를 보자.
select *
from food_orders
from은 테이블을 선택하는 기능을 가지고 있다.
현재 내가 듣고있는 강의의 SQL 서버에는 food_orders, payments, customers 3 개의 테이블이 존재하고 있으며,
각각의 테이블에는 상이한 데이터들이 적재되어 있기 때문에, 필요에 따라 원하는 테이블을 선택해야 할 필요가 있다.
select는 선택한 테이블에서 불러올 컬럼을 결정하는 기능을 가지고 있다.
select 뒤에 컬럼명 입력을 통해 특정 컬럼들의 데이터만 출력할 수 있으며, 전체 컬럼을 보고싶다면 컬렴명 대신 *를 입력해주면 된다.
상기 코드를 입력하고 실행 시 아래와 같이 데이터가 노출된다.
2. 조건에 맞는 데이터 조회하기
원하는 테이블에서 원하는 컬럼의 정보 조회는 select와 from으로도 가능하나, 더 자세한 조건을 두고 데이터를 보고싶다면 어떻게 해야할까?
이런 경우에 사용하는 것이 where 이다.
만약 cuisine_type이 Korean인 데이터만 보고싶다고 한다면, 예시와 같이 입력을 통해 원하는 데이터만 출력할 수 있다.
select *
from food_orders
where cuisine_type = 'Korean'
where문은 [where
필터링 조건
] 의 형식으로 입력할 필요가 있다.
필터링 조건의 형식은 여러 가지가 있으며, 오늘 배운 내용은 다음과 같다.
1. 비교연산자 입력하기
= | 같다 | age=21 gender=’female’ |
<> | 같지 않다 (다르다) | age<>21 gender<>’female’ |
> | 크다 | age>21 |
>= | 크거나 같다 | age>=21 |
< | 작다 | age<21 |
<= | 작거나 같다 | age<=21 |
예시의 경우, cuisine_type이 Korean인 데이터를 출력하는 기능을 가지고 있으며, 출력 시 다음과 같은 데이터가 노출된다.
만약 price가 10,000원 이상인 데이터만 출력하고 싶다면, where 절을 다음과 같이 바꿔주면 된다.
where price>=10000
2. BETWEEN, IN, LIKE 등을 사용하기
- BETWEEN은 조건범위를 지정하고, 해당 범위 내의 데이터들을 출력한다.
컬럼명 BETWEEN a and b 형식으로 입력하며, 컬럼의 데이터가 a와 b 사이에 해당하는 정보만 출력하는 기능을 가지고 있다.
만약 price가 10,000원에서 20,000 사이의 데이터만 출력하고 싶다면, 다음과 같이 입력하면 된다.
- IN은 조건을 지정하고, 지정한 조건과 동일한 데이터들을 출력한다.
컬럼명 IN (a, b, c) 형식으로 입력하며, 컬럼의 데이터가 a나 b, c에 해당하는 정보만 출력하는 기능을 가지고 있다.
만약 cuisine_type이 Korean이거나 Japanese인 데이터만 출력하고 싶다면, 다음과 같이 입력하면 된다.
- LIKE는 조건을 지정하고, 데이터 일부에 지정된 조건이 포함된 데이터들을 출력한다.
컬럼명 LIKE %a% 형식으로 입력하며, 컬럼의 데이터 내부에 a가 포함된 정보만 출력하는 기능을 가지고 있다.
예를들어, restaurant_name에 sushi가 포함된 데이터만 출력하고 싶다면, 다음과 같이 입력하면 된다.

만약 restaurant_name의 가장 첫 글자가 sushi로 시작하거나, 마지막 글자가 sushi로 끝나는 가게를 찾고싶다면 어떻게 해야할까?
방법은 간단하다.
LIKE 조건을 입력할 때, a%와 같이 %를 a 뒤에만 붙여주면 a로 시작하는 데이터만을 출력하며, %a와 같이 a 앞에만 %를 입력하는 경우에는 반대로 a로 끝나는 데이터만을 출력하게 된다.
3. 복수의 조건들을 조합하기
상기 조건들은 아래의 명령어를 통해 여러개를 조합해서 사용하는 것도 가능하다.
AND | 그리고 | age>20 and gender=’female’ → 나이가 20세 이상이고, 여성 |
OR | 또는 | age>20 or gender=’female’ → 나이가 20세 이상이거나, 여성 |
NOT | 아닌 | not gender=’female’ → 여성이 아닌 |
만약 다음과 같은 조건을 전부 만족하는 출력하고 싶다면 어떻게 해야 할까?
1. price가 10,000~20,000
2. restaurant_name에 cafe라는 문구가 들어감
3. cuisine_type이 Mexican이거나 American이 아닌 데이터
정답은 아래와 같다
4. 후기
SQL 기초문법에 대해 공부했는데, 어제 배웠던 파이썬보다는 쉬운 것 같다.
파이썬 1주차 강의는 전부 수강했고, 팀원들도 SQL 강의 위주로 수업을 듣고 있으니 내일도 SQL 강의를 들을 예정이다.
'SQL(데이터분석_사전캠프)' 카테고리의 다른 글
사전캠프 SQL 5주차 - 피벗테이블 (0) | 2025.04.28 |
---|---|
사전캠프 SQL 4주차 - Subquery와 JOIN (1) | 2025.04.25 |
사전캠프 SQL 3주차 - 문자 포맷 가공, 다중조건설정 (0) | 2025.04.24 |
사전캠프 SQL 2주차 - SQL로 범주별 연산, 정렬하기 (0) | 2025.04.23 |