ALL, DISTINCT, DISTINCTROW, TOP 조건자

ALL, DISTINCT, DISTINCTROW, TOP 조건자

참고: 사용자 언어로 가능한 한 빨리 가장 최신의 도움말 콘텐츠를 제공하고자 합니다. 이 페이지는 자동화를 통해 번역되었으며 문법 오류나 부정확한 설명을 포함할 수 있습니다. 이 목적은 콘텐츠가 사용자에게 유용하다는 것입니다. 이 페이지 하단의 정보가 도움이 되었다면 알려주세요. 쉽게 참조할 수 있는 영어 문서가 여기 있습니다.

SQL 쿼리를 사용 하 여 선택한 레코드를 지정 합니다.

구문

선택 [모든 | DISTINCT | DISTINCTROW | [상위 n [%]]]
테이블 에서

SELECT 문을 이러한 조건자를 포함 하는 다음과 같은 구성 됩니다.

구성 요소

설명

ALL

조건자가 포함 되지 않은 것으로 간주 됩니다. Microsoft Access 데이터베이스 엔진 SQL 문에서 조건을 만족 하는 레코드를 모두 선택 합니다. 다음 두 가지 예제는 동일 하 고 Employees 테이블의 모든 레코드를 반환 합니다.

SELECT ALL *
FROM Employees
ORDER BY EmployeeID;
SELECT *
FROM Employees
ORDER BY EmployeeID;

DISTINCT

선택한 필드의 중복 데이터를 포함 하는 레코드를 생략 합니다. 쿼리 결과에 포함 하려면 SELECT 문에 나열 된 각 필드에 대 한 값 고유 해야 합니다. 예를 들어 Employees 테이블에 있는 여러 직원 동일한 성을 할 수 있습니다. 두 개의 레코드 Smith 성 필드에 들어 있는 경우 다음 SQL 문을 Smith 포함 된 하나의 레코드만 반환 합니다.

SELECT DISTINCT LastName
FROM Employees;

DISTINCT를 생략 하면이 쿼리 모두 Smith 레코드를 반환 합니다.

SELECT 절에 둘 이상의 필드가, 모든 필드에서 값의 조합 결과에 포함 하는 지정 된 레코드에 대 한 고유 해야 합니다.

DISTINCT를 사용 하는 쿼리 출력 업데이트할 수 없는 한 이후에 다른 사용자가 변경한 내용이 반영 하지 않습니다.

DISTINCTROW

중복 필드 뿐만 아니라 전체 중복 레코드를 기준으로 데이터를 생략 합니다. 예를 들어 고객 Id 필드에서 고객 및 주문 테이블을 조인 하는 쿼리를 만들 수 있습니다. 고객 테이블 중복 CustomerID 필드 없음 있지만 Orders 테이블의 각 고객 주문 수 있을 수 있으므로 않습니다. 다음과 같은 SQL 문을 DISTINCTROW를 사용 하 여 목록 순서를 하나 이상 있는 회사의 있지만 해당 주문에 대 한 세부 정보를 생성 하는 방법을 보여 줍니다.

SELECT DISTINCTROW CompanyName
FROM Customers INNER JOIN Orders
ON Customers.CustomerID = Orders.CustomerID
ORDER BY CompanyName;

DISTINCTROW를 생략 하면이 쿼리에서 두 개 이상 순서에는 각 회사에 대 한 여러 행을 생성 합니다.

Distinctrow 일부에서 하지만 전체가 아닌 쿼리에 사용 되는 테이블의 필드를 선택 하는 경우에 있습니다. 쿼리에서 테이블 하나만 포함 되어 있는 경우 또는 모든 테이블의에서 필드를 출력 하는 경우 DISTINCTROW는 무시 됩니다.

상위 n [%]

ORDER BY 절에 지정 된 범위의 순위나 특정 개수의 위쪽에 있는 레코드를 반환 합니다. 1994 클래스에서 상위 25 학생 이름을 가정 합니다.

SELECT TOP 25
FirstName, LastName
FROM Students
WHERE GraduationYear = 2003
ORDER BY GradePointAverage DESC;

ORDER BY 절을 포함 하지 않으면 쿼리는 WHERE 절을 만족 하는 학생 테이블에서 임의의 25 레코드 집합을 반환 합니다.

TOP 조건부 동일한 값 사이의 선택 하지 않습니다. 위 예제는 25 번째 및 26 번째 최고 성적 평균이 같으면는 쿼리가 26 레코드를 반환 합니다.

또한 PERCENT 예약어를 사용 하 여 위쪽 이나 아래쪽 ORDER BY 절에 지정 된 범위에 속하는 레코드의 특정 비율을 반환 합니다. 한다고 가정해 보세요, 상위 25 학생 대신 아래 클래스의 10%:

SELECT TOP 10 PERCENT
FirstName, LastName
FROM Students
WHERE GraduationYear = 2003
ORDER BY GradePointAverage ASC;

ASC 조건자 지정 하위 값이 반환 됩니다. 위쪽에 나오는 값을 부호 없는 정수 여야 합니다.

상위 쿼리를 업데이트할 수 있는지 여부 영향을 주지 않습니다.

table

레코드를 검색할 테이블의 이름입니다.



Office 기술 확장
교육 살펴보기
새로운 기능 우선 가져오기
Office Insider 참여

이 정보가 유용한가요?

의견 주셔서 감사합니다!

피드백을 주셔서 감사합니다. Office 지원 에이전트와 연락하는 것이 도움이 될 것 같습니다.

×