SQL 범위 내의 데이터 선택

WHERE 절과 BETWEEN 조건 소개

SQL (Structured Query Language) 은 데이터베이스 사용자에게 사용자 정의 된 조회를 작성하여 데이터베이스에서 정보를 추출 할 수있는 기능을 제공합니다. 이전 기사에서는 SQL SELECT 쿼리를 사용하여 데이터베이스에서 정보를 추출하는 방법에 대해 살펴 보았습니다. 이 토론을 확장하고 특정 조건과 일치하는 데이터를 검색하기 위해 고급 쿼리 를 수행하는 방법을 탐색 해 보겠습니다.

일반적으로 데이터베이스 제품과 함께 제공되는 일반적으로 사용되는 Northwind 데이터베이스를 기반으로하는 예제를 자습서로 생각해 봅시다.

다음은 데이터베이스의 Product 테이블에서 발췌 한 내용입니다.

제품 표
제품 ID 상품명 SupplierID QuantityPerUnit 단가 UnitsInStock
1 차이 1 10 박스 x 20 봉지 18.00 39 세
2 1 24 - 12 온스 병 19.00 17
아니 시드 시럽 1 12 - 550 ml 병 10.00 13
4 요리사 Anton의 케이준 조미료 2 48 - 6 온스 항아리 22.00 53
5 쉐프 안톤의 검보 믹스 2 36 상자 21.35 0
6 할머니의 보 이젠 베리 스프레드 12 - 8 온스 항아리 25.00 120
7 삼촌 밥의 유기농 말린 배 12 - 1 파운드 pkg. 30.00 15 명

단순 경계 조건

질의에 대한 첫 번째 제한은 간단한 경계 조건을 포함합니다. <,>,> = 및 <=과 같은 표준 연산자로 생성 된 간단한 조건문을 사용하여 SELECT 쿼리의 WHERE 절에서이를 지정할 수 있습니다.


먼저 데이터베이스에 20.00 이상의 단가를 가진 모든 제품 목록을 추출 할 수있는 간단한 쿼리를 시도해 보겠습니다.

SELECT ProductName, 단가 제품 어디에서 단가> 20.00

다음과 같이 네 개의 제품 목록이 생성됩니다.

ProductName 단가 ------- -------- 요리사 Anton의 Gumbo Mix 21.35 요리사 Anton의 Cajun 조미료 22.00 할머니의 Boysenberry 스프레드 25.00 삼촌 Bob의 유기농 말린 배 30.00

문자열 값과 함께 WHERE 절을 사용할 수도 있습니다. 이것은 기본적으로 문자를 숫자와 같게하고 A는 값 1을 나타내고 Z는 값 26을 나타냅니다. 예를 들어 U, V, W, X, Y 또는 Z로 시작하는 이름의 모든 제품을 다음 쿼리로 표시 할 수 있습니다.

SELECT ProductName 제품에서 어디 ProductName> = 'T'

결과를 생성합니다.

ProductName ------- 아저씨 아저씨의 유기농 말린 배

경계를 사용하여 범위 표현하기

WHERE 절은 여러 조건을 사용하여 값에 범위 조건을 구현할 수도 있습니다. 예를 들어 위의 쿼리를 사용하여 15.00 ~ 20.00 사이의 가격으로 제품을 제한하려면 다음 쿼리를 사용할 수 있습니다.

SELECT ProductName, 단가 제품에서 단가> 15.00 및 단가 <20.00

결과는 다음과 같습니다.

ProductName 단가 ------- -------- Chai 18.00 장 19.00

그 사이에 표현의 범위

또한 SQL은 우리가 포함시켜야 할 조건의 수를 줄이고 쿼리를보다 읽기 쉽게 만들어주는 BETWEEN 바로 가기 구문을 제공합니다. 예를 들어 위의 두 조건을 사용하는 대신 다음과 같은 쿼리를 사용할 수 있습니다.

SELECT ProductName, 단가 제품 어디에서 단가 15.00과 20.00 사이

다른 조건절과 마찬가지로 BETWEEN은 문자열 값에도 적용됩니다. V, W 또는 X로 시작하는 모든 국가 목록을 작성하려면 다음 쿼리를 사용할 수 있습니다.

SELECT ProductName FROM 제품 어디서 ProductName 사이에 "A"및 "D"

결과를 생성합니다.

ProductName ------- Aniseed Syrup Chai Chang 요리사 Anton의 Gumbo Mix 요리사 Anton의 케이준 조미료

WHERE 절은 SQL 언어의 강력한 부분으로 결과를 지정된 범위 내로 제한 할 수 있습니다. 비즈니스 로직을 표현하는 데 매우 일반적으로 사용되며 모든 데이터베이스 전문가의 툴킷에 포함되어야합니다.

일반적인 절을 SQL 지식이없는 사용자가 액세스 할 수 있도록 저장 프로 시저 에 통합하는 것이 유용한 경우가 많습니다.