FROM 절에 나열된 테이블에서 SELECT, UPDATE 또는 DELETE 문의 영향을 받는 레코드를 지정합니다.
구문
SELECT fieldlist
FROM tableexpression WHERE criteriaWHERE 절을 포함하는 SELECT 문은 다음과 같이 구성됩니다.
구성 요소 |
설명 |
fieldlist |
필드 이름 별칭, 선택 조건자(ALL, DISTINCT, DISTINCTROW 또는 TOP) 또는 기타 SELECT 문 옵션을 사용하여 검색할 하나 이상의 필드 이름입니다. |
tableexpression |
데이터를 검색할 하나 이상의 테이블 이름입니다. |
criteria |
쿼리 결과에 포함되려면 레코드가 충족해야 하는 식입니다. |
주의
Microsoft Access 데이터베이스 엔진은 WHERE 절에 나열된 조건을 충족하는 레코드를 선택합니다. WHERE 절을 지정하지 않으면 쿼리에서 테이블의 모든 행을 반환합니다. 쿼리에 테이블을 두 개 이상 지정하고 WHERE 절 또는 JOIN 절을 포함하지 않으면 쿼리에서 테이블의 카티전 곱을 생성합니다.
WHERE는 선택 사항이지만 포함되는 경우 FROM을 따릅니다. 예를 들어 영업 부서의 모든 직원(WHERE Dept = 'Sales') 또는 18세에서 30세 사이의 모든 고객(WHERE Age Between 18 And 30)을 선택할 수 있습니다.
JOIN 절을 사용하여 여러 테이블에서 SQL 조인 작업을 수행하지 않으면 결과 Recordset 개체를 업데이트할 수 없습니다.
WHERE는 HAVING과 유사합니다. WHERE는 선택되는 레코드를 결정합니다. 마찬가지로, GROUP BY를 사용해 레코드가 그룹화되면 HAVING이 표시되는 레코드를 결정합니다.
WHERE 절을 사용하여 GROUP BY 절로 그룹화하지 않을 레코드를 제거합니다.
다양한 식을 사용하여 SQL 문이 반환하는 레코드를 결정합니다. 예를 들어 다음 SQL 문은 급여가 $21,000보다 많은 모든 직원을 선택합니다.
SELECT LastName, Salary FROM Employees WHERE Salary > 21000;
WHERE 절에는 And, Or 등의 논리 연산자로 연결한 식을 40개까지 사용할 수 있습니다.
공백 또는 문장 부호를 포함하는 필드 이름을 입력하는 경우 이름을 대괄호([ ])로 묶으세요. 예를 들어 고객 정보 테이블에 특정 고객에 대한 정보가 포함될 수 있습니다.
SELECT [Customer’s Favorite Restarant]
criteria 인수를 지정하면 Microsoft Access 데이터베이스 엔진의 미국 버전을 사용하지 않은 경우에도 날짜 리터럴이 미국 형식이어야 합니다. 예를 들어 1996년 5월 10일의 경우 영국에서는 10/5/96으로, 미국에서는 5/10/96으로 작성됩니다. 다음 예제에 표시된 대로 날짜 리터럴을 숫자 기호(#)로 묶어야 합니다.
영국 데이터베이스에서 1996년 5월 10일자 레코드를 찾으려면 다음 SQL 문을 사용해야 합니다.
SELECT * FROM Orders WHERE ShippedDate = #5/10/96#;
Microsoft Windows®에서 지정한 국제 설정을 인식하는 DateValue 함수를 사용할 수도 있습니다. 예를 들어 미국의 경우 다음 코드를 사용합니다.
SELECT * FROM Orders WHERE ShippedDate = DateValue('5/10/96');
영국의 경우 다음 코드를 사용합니다.
SELECT * FROM Orders WHERE ShippedDate = DateValue('10/5/96');
참고: 기준 문자열에서 참조되는 열이 GUID 형식인 경우 기준 식은 다음과 같이 약간 다른 구문을 사용합니다.
WHERE ReplicaID = {GUID {12345678-90AB-CDEF-1234-567890ABCDEF}}
표시된 대로 중첩된 중괄호와 하이픈을 포함해야 합니다.