FlOWING SINI
액셀보다 쉽고 빠른 SQL - 데이터 조회하기 본문
1. 오늘 학습 키워드
- 데이터베이스와 SQL
- SELECT, FROM 문을 이용한 데이터 조회
- WHERE 절을 이용한 데이터 필터링
2. 오늘 학습 한 내용을 나만의 언어로 정리하기
<SQL>
- 코드가 아닌 데이터 베이스와 대화를 하기 위한 언어
작성 전에 어떤 요청을 할지 생각하기 → '어느 테이블에서 데이터를 가져올까' - 데이터 베이스에게 'A도 주겠니?' 라고 이야기 할 때 사용하는 언어
- Query : 언어를 이용해 데이터 베이스에 요청하는 질의
- 다른 언어와 동일하게 일정한 문법을 갖고 있어 코딩을 몰라도 가능
<데이터 베이스>
- 데이터가 저장되어 있는 폴더
- 데이터 베이스라는 폴더가 있고 그 안에 테이블이 이라는 파일이 있음
*테이블 : 액셀과 유사한 구조로 데이터를 갖고 있고 각 열을 '칼람' 또는 '필드' 라고 부름
ex) 테이블 1 - food_orders(음식 주문 정보 테이블)
테이블 2 - payments (결제 정보 시스템)
테이블 3 - customers (고객 정보 테이블)
<SELECT/FROM 문의 개념>
- SELECT
데이터를 가져오는 기본 명령어
데이터를 조회하는 모든 Query에 사용됨 - FROM
데이터를 가져올 테이블을 특정해주는 문법 - * (별표)
모든 칼럼을 가져와 준다는 의미

* 다 작성 후 옆에 실행 버튼 또는 Ctrel+enter 누르면 실행됨
<테이블에서 원하는 컬럼만 선택하는 방법>
1)원하는 컬럼 선택하기
- 테이블의 모든 컬럼이 필요하지 않을 때, 필요한 것만 선택하여 조회 가능
- 모든 것을 조회한다는 * 대신에 필요한 컬럼만 적어줌
ex) SELECT 컬럼1, 컬럼2, ... - 컬럼이 많아서 필요한 정보를 확인하기 어려웠던 것에서 원하는 컬럼만 조회하는 것으로 바뀜

2) 컬럼에 별명(alias)을 주기
- 원하는 컬럼만 뽑았지만 평소에 사용하는 명칭과 다를 때가 있음
→ 컬럼 명에 별명을 지정하여 변경 - 별명 지정 방법
컬럼 옆쪽에 별명으르 적어둠
방법 1 : 컬람1 as 별명1
방법 2 : 컬럼2 별명2 - 별명 지을 때 유의사항
1) 영문, 언더바
방법 : 별명만 적음
ex) ord_no
2) 특수문자, 한글
"별명"으로 큰 따옴표 안에 적어줌
ex) "ord no" "주문번호"


*e-mail은 언더바가 아니기 때문에 특수문자에 들어감
<WHERE 절>
- WHERE = 필터 기능
- 데이터 중에 특정 조건을 필터링 해야할 때 사용

- 기본 조건은 '='을 통해 줄 수 있음

- 필터링은 숫자가 아닌 문자에도 사용 가능
문자를 사용할 때는 작은 따옴표를 사용

<필터링을 할 때 유용한 표현>
- 비교 연산
1) 같음, 큼, 작음 등의 조건을 지정해보기
필터링은 같다(=) 조건을 포함하여 크다(>), 작다(<) 등 모두 사용 가능
2) 종류 : =(같다), <>(같지않다),>(크다),>=(크거나 같다),<(작다),<=(작거나 같다) - BETWEEN
A와 B 사이 (between A and B)
ex) WHERE age between 10 and 20 - IN
'포함'하는 조건 주기 in (A,B,C)
ex) WHERE age in (21,25,28)
WHERE name in ('윤주아','정현준') - LIKE
완전히 똑같지는 않지만 비슷한 값을 조건으로 주기
1) 특정한 문자로 시작하는 경우
LIKE '시작문자%'
ex) name like '김%'
2) 특정한 문자를 포함하는 경우
like '%포함문자%'
ex) restaurant_name like '%Next%'
3) 특정한 문자로 끝나는 경우
like '%시작문자'
ex) 임으로 끝나는 이름 → name like '%임'
<필터링 조건으로 여러개를 적용해야 할 때 (논리 연산)>
- and 그리고
ex) age>=20 and gender='female' - or 또는
ex) age>=20 or gender='female' - not 아닌
ex) not gender='female'
<에러메세지에 당황하지 않고 스스로 문제 해결해보기>
Query 문을 실행했는데 에러 메세지가 떴을 경우
→ 일반적으로 SQL의 에러문은 에러코드가 아닌 '왜 에러가 발생했는가?'의 부분에 집중
- 테이블 명을 다르게 적었을 때
→ 테이블이 존재하지 않는다는 메시지 - 컬럼 명을 다르게 적었을 때
→ 필드명이 잘못 되었다는 메시지 - 필터링 조건을 줄 때 문자에 ''(작은 따옴표)를 안했을 때
→ WHERE 절에 어떤 단어가 문제가 있다는 메시지 - 이 외에도 여러 경우가 있지만 중요한 것은 '에러 메시지를 읽어 보는 것!'
3. 학습하며 겪었던 문제점 & 에러
1)
처음 SQL을 다루면서 익숙하지 않아서 기본 Query 구조나 문법을 자주 놓치는 문제가 있었다.
이를 해결하기 위해 앞으로는 자주 쓰는 Query를 반복 연습하고 오류가 발생한 부분을 빨리 찾아낼 수 있도록 연습 계획을 세울 생각이다.
2)
SQL을 활용할 때 'IN'과 'LIKE'를 구분해서 사용하는 부분이 헷갈렸다.
'IN'은 툭정 값들의 목록에 있는지 확인할 때 쓰이고 'LIKE'는 부분적인 패턴을 검색할 때 쓰인다.
이 차이를 명확히 이해할 수 있도록 예제를 통한 반복 연습이 필요다고 느꼈다.
3)
SQL에서 작은 따옴표나 가로 같은 문법 요소를 놓치거나 헷갈려했던 부분이 있었다.
그래서 앞으로는 작은 따옴표나 괄호같은 문법 요소들을 의식적으로 확인하면서 반복적으로 Query를 작성하고 검증하는 습관을 들여야함을 느꼈다.
'PM TIL > Tech Lecture' 카테고리의 다른 글
| AI Literacy - AI의 기본 개념 이해 (0) | 2026.06.04 |
|---|---|
| 액셀보다 쉽고 빠른 SQL - SQL로 업무시간 단축하기 (0) | 2026.06.02 |
| 액셀보다 쉽고 빠른 SQL - 데이터 연결하기 (0) | 2026.06.02 |
| 액셀보다 쉽고 빠른 SQL - 데이터 가공하기 (0) | 2026.05.19 |
| 액셀보다 쉽고 빠른 SQL - 데이터 분석하기 (0) | 2026.05.17 |
