적용 대상:SQL Server
쿼리에서 반환해야 하는 SELECT 행 수를 제한하려면 검색 조건 또는 필터 조건을 만듭니다. SQL에서 검색 조건은 문의 WHERE 절에 나타나며, 집계 쿼리를 생성하는 경우 HAVING 절에 나타납니다.
메모
검색 조건을 사용하여 업데이트, 결과 삽입, 값 삽입, 삭제 또는 테이블 만들기 쿼리의 영향을 받는 행을 나타낼 수도 있습니다.
쿼리가 실행되면 데이터베이스 엔진은 검색 조건을 검사하여 검색하는 테이블의 각 행에 적용합니다. 행이 조건을 충족하는 경우 쿼리에 포함됩니다. 예를 들어 특정 지역의 모든 직원을 찾는 검색 조건은 다음과 같습니다.
region = 'UK'
결과에 행을 포함하기 위한 조건을 설정하려면 여러 검색 조건을 사용할 수 있습니다. 예를 들어 다음 검색 조건은 두 가지 검색 조건으로 구성됩니다. 쿼리는 해당 행이 두 조건을 모두 충족하는 경우에만 결과 집합에 행을 포함합니다.
region = 'UK' AND product_line = 'Housewares'
이러한 조건을 사용하거나 AND.와 OR 결합할 수 있습니다. 이전 예제에서는 .를 사용합니다 AND. 반면, 다음 조건은 .를 사용합니다 OR. 결과 집합에는 검색 조건 중 하나 또는 둘 다를 충족하는 모든 행이 포함됩니다.
region = 'UK' OR product_line = 'Housewares'
단일 열에서 검색 조건을 결합할 수도 있습니다. 예를 들어 다음 조건은 지역 열의 두 조건을 결합합니다.
region = 'UK' OR region = 'US'
검색 조건 결합에 대한 자세한 내용은 다음 문서를 참조하세요.
- 조건 창에서 검색 조건을 결합하기 위한 규칙(Visual Database Tools)
- 한 열에 대해 여러 검색 조건 지정(Visual Database Tools)
- 여러 열에 대해 여러 검색 조건 지정(Visual Database Tools)
- AND의 우선 순위가 있는 조건 결합(Visual Database Tools)
- OR의 우선 순위가 있는 조건 결합(Visual Database Tools)
예제
다음은 다양한 연산자 및 행 조건을 사용하는 쿼리의 몇 가지 예입니다.
리터럴
단일 텍스트, 숫자, 날짜 또는 논리 값입니다. 다음 예제에서는 리터럴 값을 사용하여 영국에 있는 직원에 대한 모든 행을 찾습니다.
WHERE region = 'UK'열 참조
한 열의 값을 다른 열의 값과 비교합니다. 다음 예제에서는 프로덕션 비용 값이 배송 비용보다 낮은 모든 행에 대해
products테이블을 검색합니다.WHERE prod_cost < ship_cost기능
데이터베이스 백 엔드가 검색 값을 계산하기 위해 확인할 수 있는 함수에 대한 참조입니다. 이 함수는 데이터베이스 서버에서 정의한 함수이거나 스칼라 값을 반환하는 사용자 정의 함수일 수 있습니다. 다음 예제에서는 오늘 입력된 주문을 검색합니다(GETDATE() 함수는 현재 날짜를 반환합니다).
WHERE order_date = GETDATE()NULL다음 예제에서는 이름이 등록된 모든 저자를 테이블에서 검색authors합니다.WHERE au_fname IS NOT NULL계산
리터럴, 열 참조 또는 기타 식을 포함할 수 있는 계산의 결과입니다. 다음 예제에서는
products테이블을 검색하여 소매 판매 가격이 프로덕션 비용의 두 배 이상인 모든 행을 찾습니다.WHERE sales_price > (prod_cost * 2)