★ 본 튜토리얼은 SQLBolt를 한국어로 번역하여 작성된 강의입니다, 기계번역을 사용하여 오역이 있을 수 있습니다. 중간중간에 제가 직접 적은 내용도 있어서 100% 동일하지는 않습니다
출처: https://sqlbolt.com
SQLBolt에 오신 것을 환영합니다! SQLBolt는 브라우저에서 바로 SQL을 빠르게 배울 수 있도록 설계된 대화형 강의와 연습 문제 시리즈입니다.
SQL이란 무엇인가?
SQL(구조적 질의어)은 기술자와 비기술자 모두가 관계형 데이터베이스의 데이터를 조회, 조작 및 변환할 수 있도록 설계된 언어입니다. 단순성 덕분에 SQL 데이터베이스는 수백만 개의 웹사이트와 모바일 애플리케이션에 안전하고 확장 가능한 스토리지를 제공합니다.
알고 계셨나요?
SQLite, MySQL, Postgres, Oracle 및 Microsoft SQL Server를 포함하여 많은 인기 있는 SQL 데이터베이스가 있습니다. 이 모든 데이터베이스는 공통 SQL 언어 표준을 지원하며, 이 사이트에서 이를 가르칠 것입니다. 하지만 각 구현은 추가 기능 및 지원하는 스토리지 유형에서 차이가 있을 수 있습니다.
관계형 데이터베이스
SQL 구문을 배우기 전에 관계형 데이터베이스가 실제로 무엇인지에 대한 모델을 갖는 것이 중요합니다. 관계형 데이터베이스는 관련된 (2차원) 테이블의 모음으로 표현됩니다. 각 테이블은 Excel 스프레드시트와 유사하며, 고정된 수의 명명된 열(테이블의 속성 또는 특성)과 임의의 수의 데이터 행을 가집니다.
예를 들어, 자동차 등록국에 데이터베이스가 있다면 주에서 사람들이 운전하는 모든 알려진 차량을 포함하는 테이블을 찾을 수 있습니다. 이 테이블은 예를 들어 각 차량의 모델 이름, 유형, 바퀴 수 및 문 수를 저장해야 할 수 있습니다.

이러한 데이터베이스에서 주에 등록된 모든 운전자 목록, 부여될 수 있는 운전면허 유형 또는 각 운전자의 운전 위반 사항과 같은 추가 관련 테이블을 찾을 수 있습니다.
SQL을 배우는 목표는 "도로에 4개 미만의 바퀴가 있는 차량의 유형은 무엇입니까?" 또는 "Tesla는 몇 가지 자동차 모델을 생산합니까?"와 같은 이 데이터에 대한 특정 질문에 답변하는 방법을 배우는 것입니다. 이는 향후 더 나은 결정을 내리는 데 도움이 됩니다.
강의 정보
대부분의 사용자는 기존 데이터베이스와 상호 작용하기 위해 SQL을 배우기 때문에 강의는 SQL 쿼리의 다양한 부분을 소개하는 것으로 시작합니다. 이후 강의에서는 테이블(또는 스키마)을 변경하고 처음부터 새 테이블을 만드는 방법을 보여줍니다.
각 강의는 다른 개념을 소개하고 대화형 연습으로 끝납니다. 자신의 속도에 맞춰 진행하고 계속하기 전에 연습을 실험하는 데 시간을 할애하는 것을 두려워하지 마세요! 이미 SQL에 익숙한 경우 오른쪽 상단의 링크를 사용하여 건너뛸 수 있지만, 어쨌든 강의를 진행하는 것이 좋습니다!
제1강: SELECT 쿼리 101
SQL 데이터베이스에서 데이터를 검색하려면 SELECT 문을 작성해야 합니다. 이를 흔히 "쿼리"라고 부릅니다. 쿼리 자체는 우리가 찾고 있는 데이터, 데이터베이스에서 해당 데이터를 찾을 위치, 그리고 선택적으로 반환되기 전에 데이터를 변환하는 방법을 선언하는 문장일 뿐입니다. 하지만 특정 구문이 있으며, 이는 다음 연습에서 배우게 될 것입니다.
서론에서 언급했듯이 SQL의 테이블은 일종의 엔터티(예: 개)로 생각할 수 있으며, 테이블의 각 행은 해당 유형의 특정 인스턴스(예: 퍼그, 비글, 다른 색깔의 퍼그 등)로 생각할 수 있습니다. 이는 열이 해당 엔터티의 모든 인스턴스에서 공유하는 공통 속성(예: 털 색깔, 꼬리 길이 등)을 나타낸다는 것을 의미합니다.
데이터 테이블이 주어졌을 때, 우리가 작성할 수 있는 가장 기본적인 쿼리는 모든 행(인스턴스)과 함께 테이블의 몇몇 열(속성)을 선택하는 쿼리입니다.
특정 열에 대한 Select 쿼리
SELECT column, another_column, ...
FROM mytable;
이 쿼리의 결과는 2차원 행과 열 집합, 즉 요청한 열만 있는 테이블의 복사본이 됩니다.
테이블에서 모든 열의 데이터를 검색하려면 모든 열 이름을 개별적으로 나열하는 대신 별표(*) 약어를 사용할 수 있습니다.
모든 열에 대한 Select 쿼리
SELECT * FROM mytable;
특히 이 쿼리는 모든 데이터를 한 번에 덤프하여 테이블을 검사하는 간단한 방법이기 때문에 매우 유용합니다.
연습
대부분의 연습에서 Pixar의 고전 영화에 대한 데이터가 포함된 데이터베이스를 사용합니다. 이 첫 번째 연습은 Movies 테이블만 포함하며, 아래의 기본 쿼리는 현재 각 영화의 모든 속성을 보여줍니다. 다음 강의로 넘어가려면 각 작업에 필요한 정확한 정보를 찾도록 쿼리를 변경하세요.
이제 연습문제를 풀 차례입니다. MySQL workbench를 사용해서 직접 할 수 있지만 SQLBolt에서 진행해 보는 것이 더 편할 것 같습니다. 코드를 입력하면 자동으로 Tasks들이 진행이 됩니다.

https://sqlbolt.com/lesson/select_queries_introduction
SQLBolt - Learn SQL - SQL Lesson 1: SELECT queries 101
To retrieve data from a SQL database, we need to write SELECT statements, which are often colloquially refered to as queries. A query in itself is just a statement which declares what data we are looking for, where to find it in the database, and optionall
sqlbolt.com
'데이터분석 > SQL' 카테고리의 다른 글
| [SQL 강의] 4강: 쿼리 결과 필터링 및 정렬 (0) | 2025.02.02 |
|---|---|
| [SQL 강의] 2강/3강 제약 조건이 있는 쿼리 (0) | 2025.02.01 |
| MySQL Workbench/MySQL 설치방법 및 접속(connection) 오류 해결하기 (0) | 2025.02.01 |