SELECT 문은 Microsoft Access 데이터베이스 엔진에 데이터베이스의 정보를 레코드 집합으로 반환하도록 명령합니다.
구문
SELECT [predicate] { * | table.* | [table.]field1 [AS alias1] [, [table.]field2 [AS alias2] [, ...]]}
FROM tableexpression [, ...] [IN externaldatabase]
[WHERE... ]
[GROUP BY... ]
[HAVING... ]
[ORDER BY... ]
[WITH OWNERACCESS OPTION]
SELECT 문은 다음과 같이 구성됩니다.
구성 요소 |
설명 |
predicate |
ALL, DISTINCT, DISTINCTROW 또는 TOP 조건자 중 하나입니다. 이러한 조건자를 사용하여 반환되는 레코드 수를 제한할 수 있습니다. 조건자를 지정하지 않는 경우 기본값인 ALL이 사용됩니다. |
* |
지정된 하나 이상의 테이블에서 모든 필드가 선택되도록 지정합니다. |
table |
선택할 레코드가 들어 있는 필드를 포함하는 테이블의 이름입니다. |
field1, field2 |
검색할 데이터가 들어 있는 필드의 이름입니다. 필드가 여러 개인 경우 나열된 순서대로 검색됩니다. |
alias1, alias2 |
table의 원래 열 이름 대신 열 머리글로 사용할 이름입니다. |
tableexpression |
검색할 데이터가 들어 있는 하나 이상의 테이블 이름입니다. |
externaldatabase |
tableexpression의 테이블이 현재 데이터베이스에 없는 경우 해당 테이블을 포함하는 데이터베이스의 이름입니다. |
설명
Microsoft Access 데이터베이스 엔진은 이 연산을 수행하기 위해 하나 이상의 지정된 테이블을 검색하고, 선택된 열을 추출하고, 조건에 맞는 행을 선택하고, 결과로 반환된 행을 지정된 순서로 정렬 또는 그룹화합니다.
SELECT 문을 실행해도 데이터베이스의 데이터는 변경되지 않습니다.
SELECT는 보통 SQL 문의 첫 번째 단어가 됩니다. 대부분의 SQL 문은 SELECT 또는 SELECT...INTO 문입니다.
SELECT 문의 최소 구문은 다음과 같습니다.
SELECT fields FROM table
별표(*)를 사용하여 테이블의 모든 필드를 선택할 수 있습니다. 다음은 Employees 테이블의 모든 필드를 선택하는 예제입니다.
SELECT * FROM Employees;
필드 이름이 FROM 절에서 둘 이상의 테이블에 포함되는 경우에는 필드 이름 앞에 테이블 이름과 . (점) 연산자를 붙입니다. 다음 예제에서 Department 필드는 Employees 및 Supervisors 테이블에 모두 포함됩니다. 이 SQL 문에서는 Employees 테이블에서 부서가 선택되고 Supervisors 테이블에서 관리자 이름이 선택됩니다.
SELECT Employees.Department, Supervisors.SupvName FROM Employees INNER JOIN Supervisors WHERE Employees.Department = Supervisors.Department;
Microsoft Access 데이터베이스 엔진은 Recordset 개체를 만들 때 테이블의 필드 이름을 Recordset 개체의 Field 개체 이름으로 사용합니다. 다른 필드 이름을 지정하려는 경우 또는 필드를 생성할 때 사용하는 식에서 이름을 지정하지 않는 경우에는 AS 예약어를 사용합니다. 다음은 Birth라는 제목을 사용하여 쿼리 결과로 반환되는 Recordset 개체의 Field 개체 이름을 지정하는 예제입니다.
SELECT BirthDate AS Birth FROM Employees;
분명하지 않거나 중복되는 Field 개체 이름을 반환하는 집계 함수 또는 쿼리를 사용할 때는 항상 AS 절을 사용하여 해당 Field 개체의 다른 이름을 지정해야 합니다. 다음은 HeadCount라는 제목을 사용하여 쿼리 결과로 반환되는 Recordset 개체의 Field 개체 이름을 지정하는 예제입니다.
SELECT COUNT(EmployeeID) AS HeadCount FROM Employees;
반환되는 데이터를 더 자세하게 제한하거나 구성하기 위해 SELECT 문에 다른 절을 사용할 수 있습니다. 자세한 내용은 사용할 절의 도움말 항목을 참고하세요.