목차
"Everything is available basically for free. You can learn anything you want for free." - Elon Musk의 인터뷰 중
머스크의 말처럼 모두 무료로 접할 수 있고 무엇이든 할 수 있으니..
무료로 접할 수 있는 정보들을 제게 맞게 최적화해서 정리해보려고 합니다.
이 글에서는 WHERE를 어떻게 사용하는지 좀 더 자세히 알아보겠습니다.
아래는 예시로 사용할 animals 테이블입니다.
id | name | species | age | weight | zoo_name |
1 | Lucy | 코끼리 | 10 | 5000 | Dream Zoo |
2 | Benny | 펭귄 | 3 | 15 | Happy Zoo |
3 | Coco | 고릴라 | 7 | 200 | Dream Zoo |
4 | Dori | 인어공주 | 4 | 45 | Ocean Park |
5 | Elly | 코끼리 | 12 | 5200 | Happy Zoo |
where은 조건을 적는 곳으로 이해할 수 있는데, 이때 사용할 수 있는 연산자가 있습니다.
1. SQL 연산자의 종류
연산자 | 종류 |
*, / | 산술 연산자 |
+, - | 산술 연산자 |
=, !=, ^=, <>, >, >=, <, <= | 대소 비교 연산자 |
IS (NOT) NULL, (NOT) LIKE, (NOT) IN | 비교 연산자 |
BETWEEN A AND B | 범위 비교 연산자 |
NOT | 논리 연산자 |
AND | 논리 연산자 |
OR | 논리 연산자 |
위에서부터 연산자 기준으로 조건 연산을 시작하며 ()로 묶어주면 위의 우선순위와는 별도로 먼저 수행을 합니다.
아래는 위와 관련된 몇가지 예시입니다.
2. 비교 연산자만 사용
SELECT *
FROM animals
WHERE species = '코끼리';
해석 > animals 테이블에서 species가 '코끼리'인 모든 데이터를 조회해줘
결과)
id | name | species | age | weight | zoo_name |
1 | Lucy | 코끼리 | 10 | 5000 | Dream Zoo |
5 | Elly | 코끼리 | 12 | 5200 | Happy Zoo |
SELECT *
FROM animals
WHERE age > 5;
해석 > animals 테이블에서 age가 5 초과인 모든 데이터를 조회해줘
결과)
id | name | species | age | weight | zoo_name |
1 | Lucy | 코끼리 | 10 | 5000 | Dream Zoo |
3 | Coco | 고릴라 | 7 | 200 | Dream Zoo |
5 | Elly | 코끼리 | 12 | 5200 | Happy Zoo |
SELECT *
FROM animals
WHERE zoo_name IN ('Dream Zoo', 'Happy Zoo');
해석 > animals 테이블에서 zoo_name이 'Dream Zoo', 'Happy Zoo' 중 하나에 해당하면 모든 데이터를 조회해줘
결과)
id | name | species | age | weight | zoo_name |
1 | Lucy | 코끼리 | 10 | 5000 | Dream Zoo |
2 | Benny | 펭귄 | 3 | 15 | Happy Zoo |
3 | Coco | 고릴라 | 7 | 200 | Dream Zoo |
5 | Elly | 코끼리 | 12 | 5200 | Happy Zoo |
3. 비교 연산자와 논리 연산자 사용
SELECT *
FROM animals
WHERE age > 5 AND weight < 500;
해석 > animals 테이블에서 age가 5 초과이고 weight가 500 미만인 모든 데이터를 조회해줘
결과)
id | name | species | age | weight | zoo_name |
3 | Coco | 고릴라 | 7 | 200 | Dream Zoo |
SELECT *
FROM animals
WHERE name LIKE '%B%' and age < 5;
해석 > animals 테이블에서 name에 B를 포함하고 age는 5 미만인 모든 데이터를 조회해줘
결과)
id | name | species | age | weight | zoo_name |
2 | Benny | 펭귄 | 3 | 15 | Happy Zoo |
LIKE 뒤에 '%B%' 에서 %는 임의의 문자열을 의미합니다. 따라서 앞뒤에 B가 있는 경우, B를 포함하고 앞이나 뒤에는 어떤 글자가 와도 상관 없다는 의미가 됩니다.
산술 연산자는 간단한 내용이라 별도로 예시를 들지는 않았습니다.
4. 참고 문헌
통계 교육원 SQL 강의: 데이터 분석을 위한 SQL 입문(2023) - https://sti.kostat.go.kr/coresti/site/main.do
부스트코스 SQL 강의: 기초 데이터 분석을 위한 핵심 SQL - https://www.boostcourse.org/
'SQL > SQL 스터디' 카테고리의 다른 글
ORDER BY 파헤치기 - 문과생 SQL 독학 시리즈5 (0) | 2023.04.30 |
---|---|
GROUP BY와 HAVING 파헤치기 - 문과생 SQL 독학 시리즈4 (0) | 2023.04.29 |
Select, 데이터 조회 방법 이해하기 - 문과생 SQL 독학 시리즈2 (0) | 2023.04.28 |
DBMS, SQL, 그리고 SQL 명령어 이해하기 - 문과생 SQL 독학 시리즈1 (0) | 2023.04.28 |
SQL 독학: 10가지 주요 숫자 처리 함수 (0) | 2023.04.24 |
댓글