데이터의 바다에서 원하는 정보를 정확히 찾아내는 기술은 현대 사회의 핵심 역량 중 하나입니다. 이때 우리는 **SQL(Structured Query Language)**이라는 강력한 언어를 사용해 데이터베이스와 소통합니다. 수많은 SQL 명령어 중에서도, 데이터를 조회하는 가장 기본적이면서도 중요한 세 가지 구성요소는 바로 FROM, WHERE, SELECT입니다.
흥미로운 점은, 우리가 코드를 작성하는 순서(SELECT, FROM, WHERE)와 컴퓨터가 실제로 데이터를 처리하는 순서(FROM → WHERE → SELECT)가 다르다는 사실입니다. 이 논리적 실행 순서를 이해하는 것이야말로, 정확하고 효율적인 SQL 쿼리를 작성하는 첫걸음입니다. 지금부터 데이터베이스의 관점에서 일이 어떻게 처리되는지 차근차근 따라가 보겠습니다.
1. FROM: 데이터의 출처 지정하기
모든 데이터 조회는 "어디에서 정보를 가져올 것인가?"라는 질문에서 시작합니다. FROM 절은 바로 이 질문에 답하며, 수많은 테이블 중에서 앞으로 다룰 데이터의 대상을 명확히 지정하는 역할을 합니다.
- 핵심 역할: 쿼리가 조회할 데이터가 담긴 원본 테이블을 지정합니다.
- 비유: 거대한 도서관에서 '경제학' 서가로 가겠다고 선언하는 첫 단계와 같습니다. 아직 특정 책을 고르기 전, 탐색할 범위를 먼저 한정하는 것입니다.
- 팁 (별칭): 테이블 이름이 길 경우, AS 키워드를 사용해 FROM Customers AS C와 같이 짧은 별칭을 부여하면 쿼리의 가독성을 크게 높일 수 있습니다.
FROM Customers; ➡️ "이제부터 Customers 테이블의 데이터를 대상으로 작업을 시작하겠습니다."
2. WHERE: 원하는 데이터만 걸러내기
작업할 테이블을 정했다면, 다음은 그 안에서 유의미한 데이터만 남기는 '필터링' 과정입니다. WHERE 절은 우리가 제시하는 특정 조건을 만족하는 데이터 행(row)들만 선택하는 강력한 필터 역할을 합니다.
- 핵심 역할: FROM 절로 가져온 테이블에서 특정 조건을 만족하는 데이터 행만을 추출합니다.
- 비유: '경제학' 서가에 꽂힌 수많은 책 중에서, '2020년 이후 출판된' 책만 골라내는 조건 검색과 같습니다.
- 예시: WHERE Country = 'Germany' 라는 조건을 추가하면, Country 컬럼의 값이 'Germany'인 고객 데이터만 남기고 나머지는 모두 제외됩니다.
FROM Customers WHERE Country = 'Germany'; ➡️ "Customers 테이블에서, Country가 'Germany'인 데이터만 남겨주세요."
3. SELECT: 보여줄 정보 선택하기
필요한 데이터 행만 깨끗하게 걸러냈다면, 마지막으로 이 데이터들 중에서 어떤 정보(컬럼)를 화면에 출력할지 결정할 차례입니다. SELECT 절은 최종 결과물에 포함될 열(column)을 지정하는 역할을 합니다.
- 핵심 역할: 필터링된 결과 중에서 최종적으로 보고 싶은 컬럼을 선택하여 출력합니다.
- 비유: '2020년 이후 출판된 경제학' 책들 중에서, 내가 실제로 필요한 정보인 '책 제목'과 '저자'만 추려서 목록으로 만들어달라고 요청하는 마지막 단계입니다.
- 실행 순서의 중요성: SQL 코드를 작성할 때는 SELECT가 가장 먼저 등장하지만, 실제 실행 순서는 FROM과 WHERE가 모두 처리된 후 가장 마지막입니다. 데이터의 전체 범위를 정하고(FROM), 조건을 통해 대상을 좁힌 후에야(WHERE), 비로소 어떤 항목을 보여줄지(SELECT) 결정하는 것이 논리적이기 때문입니다.
SELECT CustomerName, City FROM Customers WHERE Country = 'Germany'; ➡️ "Customers 테이블의 데이터 중 Country가 'Germany'인 것들을 찾은 뒤, 그 결과에서 CustomerName과 City 정보만 최종적으로 보여주세요."
결론적으로, 모든 SQL 조회는 테이블을 지정하고(FROM), 조건을 적용해 데이터를 걸러낸 후(WHERE), 필요한 항목을 선택해서(SELECT) 결과를 도출하는 명확한 논리적 흐름을 따릅니다. 이 실행 순서를 완벽히 이해하고 있다면, 앞으로 훨씬 더 복잡하고 정교한 쿼리를 작성할 때에도 흔들리지 않는 튼튼한 기초가 될 것입니다.
관련 웹사이트 (URL)
- W3Schools SQL Tutorial: 초보자들이 SQL을 단계별로 학습하기 좋은 가장 유명한 온라인 튜토리얼입니다. https://www.w3schools.com/sql/
- PostgreSQL 공식 문서: 대표적인 관계형 데이터베이스인 PostgreSQL의 공식 한글 문서로, 가장 정확하고 신뢰도 높은 정보를 제공합니다. https://www.postgresql.kr/docs/
- 생활코딩 SQL: 한국의 대표적인 코딩 교육 채널 '생활코딩'의 SQL 강좌로, 쉬운 비유와 예시를 통해 개념을 쉽게 이해할 수 있도록 돕습니다. https://opentutorials.org/course/3161
주요 용어 정리
- SQL (Structured Query Language): 관계형 데이터베이스와 소통하기 위해 사용하는 표준 언어입니다. 데이터를 정의, 조작, 제어하는 데 사용됩니다.
- 쿼리 (Query): 데이터베이스에 정보를 요청하거나 특정 작업을 지시하기 위해 작성하는 SQL 명령문 전체를 의미합니다. '질의'라고도 합니다.
- 테이블 (Table): 데이터가 행(Row)과 열(Column)의 형태로 정리되어 저장되는 기본 구조입니다. 엑셀 시트와 유사한 형태를 떠올리면 이해하기 쉽습니다.
- 컬럼 (Column): 테이블의 세로 줄에 해당하는 부분으로, 특정 속성에 대한 데이터들을 담고 있습니다. 예를 들어 '고객' 테이블의 '이름', '나이', '주소' 등이 각각의 컬럼이 됩니다.
- 필터링 (Filtering): 대량의 데이터 집합에서 특정 조건을 만족하는 데이터만을 추출하는 작업을 의미합니다. WHERE 절이 이 역할을 수행합니다.
'IT 지식 및 정보 (구글 클라우드 등)' 카테고리의 다른 글
| Google Cloud 네트워크 및 네트워크 보안 (0) | 2025.11.27 |
|---|---|
| SQL 마스터 가이드: 기초 문법부터 실전 쿼리 작성의 기술까지 (0) | 2025.10.22 |
| 데이터 분석의 첫걸음, 핵심 용어 완벽 정리 (0) | 2025.10.22 |
| Looker 생태계 마스터하기: 성공적인 BI 전략을 위한 데이터 설계, 비용 절감, 그리고 시각화 (0) | 2025.10.21 |
| [GCP 배우기 6] Vertex AI 심층 탐구: 차세대 생성형 AI와 에이전트 구축 전략 (1) | 2025.10.20 |