SQLite - WHERE 절: 정확한 데이터 검색의 관문

안녕하세요, SQLite 열정가 여러분! 데이터베이스 질의의 흥미로운 여정에 여러분의 가이드로서 기쁜 마음으로 인사드립니다. 오늘 우리는 SQLite 도구 상자에서 가장 강력한 도구 중 하나인 WHERE 절에 깊이 다물어보겠습니다. 이 튜토리얼의 끝을 맺을 때쯤이면, 프로처럼 데이터를 필터링하여 친구들과 미래의 동료들에게 감탄을 자아낼 수 있을 것입니다!

SQLite - WHERE Clause

WHERE 절이란?

먼저 기본적인 내용부터 알아보겠습니다. 상상해 보세요, 대단한 도서관(데이터베이스)이 가득 차 있다고요. 그런데 2010년 이후에 쓰인 미스터리 소설을 모두 찾고 싶다면 어떻게 할까요? 이때 WHERE 절이 유용하게 쓰입니다! WHERE 절은 마법의 필터처럼 특정 데이터를 찾아내는 데 도움을 줍니다.

WHERE 절은 SQLite에서 데이터베이스 질의 결과에 반환되는 데이터에 대한 조건을 지정하는 데 사용됩니다. 데이터베이스에게 "이 정보만 보여줘!"라고 말하는 것과 같습니다.

문법: WHERE 절의 문법

이제 WHERE 절의 문법을 살펴보겠습니다.처음에는 조금 두려울 수 있지만, 단계별로 설명하겠으니 걱정 마세요!

SELECT column1, column2, ...
FROM table_name
WHERE condition;

각 부분의 의미는 다음과 같습니다:

  • SELECT: 원하는 열을 지정합니다.
  • FROM: SQLite가 어떤 테이블을 참조할지 지정합니다.
  • WHERE: 마법이 일어나는 곳입니다! 조건을 이곳에 작성합니다.

조건은 다음과 같은 하나 이상의 표현식으로 구성될 수 있습니다:

  • 비교 연산자 (=, <>, <, >, <=, >=)
  • 논리 연산자 (AND, OR, NOT)
  • 특수 연산자 (BETWEEN, LIKE, IN)

이제 몇 가지 예제를 통해 이를 명확히 이해해 보겠습니다!

예제: WHERE 절 활용

예제 1: 기본 비교

가정해 봅시다, students 테이블이 id, name, age 열을 가지고 있다고요. 18세인 학생들을 찾고 싶습니다.

SELECT name
FROM students
WHERE age = 18;

이 질의는 정확히 18세인 학생들의 이름을 반환합니다. 간단하죠?

예제 2: 여러 조건

이제 18세이고 이름이 'A'로 시작하는 학생들을 찾고 싶다면 어떻게 할까요?

SELECT name, age
FROM students
WHERE age = 18 AND name LIKE 'A%';

이 질의는 두 조건을 결합합니다:

  1. age = 18: 학생이 18세여야 합니다.
  2. name LIKE 'A%': 학생의 이름이 'A'로 시작해야 합니다. %는 "어떤 문자가 뒤따를 수 있다"는 의미의 와일드카드입니다.

예제 3: 범위 질의

18세에서 22세 사이의 학생들을 찾고 싶다면 어떻게 할까요?

SELECT name, age
FROM students
WHERE age BETWEEN 18 AND 22;

BETWEEN 연산자는 범위를 지정하는 데 유용합니다. 이 질의는 18, 19, 20, 21, 22세인 모든 학생을 반환합니다.

예제 4: IN 연산자

특정 학년의 학생들을 찾고 싶다면 어떻게 할까요?

SELECT name, grade
FROM students
WHERE grade IN (9, 10, 11);

IN 연산자는 여러 값을 비교하는 데 사용됩니다. 이 질의는 9, 10, 11학년의 학생들을 반환합니다.

예제 5: 다양한 조건을 결합

이제 모든 것을 하나로 결합해 보겠습니다! 다음과 같은 학생을 찾고 싶습니다:

  • 18세이거나 12학년인 학생
  • 그리고 이름이 'A' 또는 'B'로 시작하는 학생
SELECT name, age, grade
FROM students
WHERE (age = 18 OR grade = 12)
AND (name LIKE 'A%' OR name LIKE 'B%');

이 질의는 괄호를 사용하여 조건을 그룹화하고 다양한 비교를 결합합니다.

일반 WHERE 절 연산자

WHERE 절에서 가장 자주 사용하는 연산자 목록을 아래에 제공합니다:

연산자 설명 예제
= 동일 WHERE age = 18
<> or != 불동일 WHERE grade <> 12
> 더 크다 WHERE score > 90
< 더 작다 WHERE price < 50
>= 더 크거나 동일 WHERE quantity >= 100
<= 더 작거나 동일 WHERE year <= 2020
BETWEEN 포함 범위 WHERE age BETWEEN 18 AND 25
LIKE 패턴 일치 WHERE name LIKE 'J%'
IN 여러 값을 지정 WHERE country IN ('USA', 'UK', 'Canada')
AND 조건 결합 (모두 참) WHERE age > 18 AND grade = 12
OR 조건 결합 (적어도 하나 참) WHERE subject = 'Math' OR subject = 'Science'
NOT 조건 부정 WHERE NOT grade = 12

결론: 새로운 데이터 필터링 슈퍼파워

축하합니다! 여러분은 SQLite 무기고에서 강력한 도구를 풀어냈습니다. WHERE 절은 정확한 데이터 검색을 위한 티켓으로, 산이 같은 정보에서 필요한 것을 찾아내는 데 도움을 줍니다.

기억하시라, 연습이 완벽을 이루는 열쇠입니다. 자신만의 데이터베이스를 만들고 다양한 WHERE 절을 실험해 보세요. 곧 경험丰富的 프로로 변신할 것입니다!

SQLite 여정을 계속하면서 WHERE 절이 시작에 불과하다는 것을 기억하세요. 고급 질의 기법이 여러분을 기다리고 있습니다. 그러나 지금은 자신을 칭찬해 주세요 - 데이터 마법사로 가는 큰 발걸음을 했습니다!

기쁜 질의와 함께, 데이터가 항상 잘 필터링되길 바랍니다!

Credits: Image by storyset