정확한 쿼리 결과를 얻기 위해 SQL 문 편집
Applies ToMicrosoft 365용 Access Access 2024 Access 2021 Access 2019 Access 2016

쿼리가 충분히 작동하지 않는 경우 몇 가지 기본 SQL 문을 추가하면 결과에 집중하는 데 도움이 될 수 있습니다. 원하는 결과를 얻기 위해 편집할 수 있는 몇 가지 유형의 SQL 문과 절 또는 부분을 살펴보겠습니다.

참고:  이 문서는 Access에서 디자인하여 온라인에 게시하는 데이터베이스 종류인 Access 웹앱에는 적용되지 않습니다.

이 문서의 내용

Select 문 만들기

SQL select 문에는 2~3개의 절이 있습니다. SELECT 절은 데이터를 찾을 위치를 데이터베이스에 알리고 특정 결과를 반환하도록 요청합니다.

참고:  SELECT 문은 항상 마지막 절의 끝이나 SQL 문의 끝에 있는 줄 자체에 ;) 세미콜론으로 끝납니다.

다음 select 문은 Access에 전자 메일 주소 및 회사 열, 연락처 테이블, 특히 City 열에서 "Seattle"을 찾은 위치에서 정보를 가져올 것을 요청합니다.

SELECT 문을 보여 주는 SQL 개체 탭

위의 쿼리에는 SELECT, FROM 및 WHERE 절이 세 개 있습니다.

1. SELECT 절에는 사용하려는 데이터가 들어 있고 연산자(SELECT)와 두 개의 식별자(전자 메일 주소 및 회사)가 있는 열이 나열됩니다. 식별자에 공백 또는 특수 문자(예: "전자 메일 주소")가 있는 경우 식별자를 대괄호 안에 묶습니다.

2. FROM 절은 원본 테이블을 식별합니다. 이 예제에서는 연산자(FROM) 뒤에 식별자(연락처)가 있습니다.

3. WHERE 절은 선택적 절입니다. 예제에는 연산자(WHERE) 뒤에 식(City="Seattle")이 있습니다.

선택 쿼리에 대한 자세한 내용은 간단한 선택 쿼리 만들기를 참조하세요.

일반적인 SQL 절 목록은 다음과 같습니다.

SQL 절

기능

필수인가요 ?

SELECT

관심 있는 데이터가 포함된 필드를 나열합니다.

FROM

SELECT 절에 나열된 필드가 포함된 테이블을 나열합니다.

WHERE

결과에 포함할 각 레코드에서 충족해야 하는 필드 조건을 지정합니다.

아니요

ORDER BY

결과를 정렬하는 방법을 지정합니다.

아니요

GROUP BY

집계 함수를 포함하는 SQL 문에서 SELECT 절에 요약되지 않은 필드를 나열합니다.

이러한 필드가 있는 경우에만

HAVING

집계 함수를 포함하는 SQL 문에서 는 SELECT 문에 요약된 필드에 적용되는 조건을 지정합니다.

아니요

각 SQL 절은 용어로 구성됩니다. 다음은 몇 가지 일반적인 SQL 용어 목록입니다.

SQL 용어

정의

예제

식별자

열 이름과 같이 데이터베이스 개체를 식별하는 데 사용하는 이름입니다.

[전자 메일 주소] 및 회사

연산자

작업을 나타내거나 작업을 수정하는 키워드입니다.

AS

상수

숫자 또는 NULL과 같이 변경되지 않는 값입니다.

42

단일 값으로 평가되는 식별자, 연산자, 상수 및 함수의 조합입니다.

>= 제품입니다. [단가]

맨 위로 이동

SELECT 절 사용자 지정

사용자 지정

예제

고유 값만 보려면 입니다.

SELECT 절에서 DISTINCT 키워드를 사용합니다.

예를 들어 고객이 여러 지점 출신이고 일부 지점의 전화 번호가 같고 전화 번호만 한 번만 표시하려는 경우 SELECT 절은 다음과 같습니다.

SELECT DISTINCT [txtCustomerPhone] 

데이터시트 보기에 식별자가 표시되는 방식을 변경하여 가독성을 향상시킵니다.

SELECT 절의 필드 별칭과 함께 AS 연산자(작업을 나타내거나 작업을 수정하는 키워드)를 사용합니다. 필드 별칭은 결과를 더 쉽게 읽을 수 있도록 필드에 할당하는 이름입니다.

SELECT [txtCustPhone] AS [Customer Phone]

FROM 절 사용자 지정

사용자 지정

예제

select 문의 테이블에 할당하는 테이블 별칭 또는 다른 이름을 사용할 수 있습니다. 테이블 별칭은 테이블 이름의 이름이 긴 경우 특히 서로 다른 테이블의 이름이 같은 필드가 여러 대 있는 경우에 유용합니다.

테이블 tblCustomer와 테이블 tblOrder에서 제공되는 두 필드(둘 다 이름 ID)에서 데이터를 선택하려면 다음을 수행합니다.

SELECT [tblCustomer].[ID],        [tblOrder].[ID]

AS 연산자를 사용하여 FROM 절에서 테이블 별칭을 정의합니다.

FROM [tblCustomer] AS [C],      [tblOrder] AS [O] 

그런 다음 다음과 같이 SELECT 절에서 이러한 테이블 별칭을 사용할 수 있습니다.

SELECT [C].[ID],        [O].[ID]

조인을 사용하여 두 데이터 원본의 레코드 쌍을 단일 결과로 결합하거나 관련 테이블에 해당 레코드가 없는 경우 두 테이블의 레코드를 포함할지 여부를 지정합니다.

쿼리가 테이블의 항목을 결합하고 다른 테이블에 해당 레코드가 없을 때 항목을 제외할 수 있도록 테이블을 조인합니다.

FROM 절의 모양은 다음과 같습니다.

FROM [tblCustomer] INNER JOIN [tblOrder]ON [tblCustomer].[CustomerID]=[tblOrder].[CustomerID] 

조인 사용 정보

내부 조인과 외부 조인의 두 가지 유형이 있습니다. 내부 조인은 쿼리에서 더 일반적입니다. 내부 조인을 사용하여 쿼리를 실행하는 경우 결과는 조인된 두 테이블 모두에 공통 값이 있는 항목만 표시합니다.

외부 조인은 공통 값이 없는 데이터를 포함할지 여부를 지정합니다. 외부 조인은 방향성이므로 조인에 지정된 첫 번째 테이블의 모든 레코드를 포함할지(왼쪽 조인이라고 함) 조인에 두 번째 테이블의 모든 레코드를 포함할지(오른쪽 조인이라고 함)를 지정할 수 있습니다. 외부 조인에는 다음과 같은 SQL 구문이 있습니다.

FROM table1 [ LEFT | RIGHT ] JOIN table2ON table1.field1 = table2.field2

조인 테이블 및 쿼리에서 쿼리에서 조인을 사용하는 방법에 대한 자세한 내용을 참조하세요.

맨 위로 이동

WHERE 절 사용자 지정

WHERE 절에는 쿼리에서 반환되는 항목 수를 제한하는 데 도움이 되는 조건이 포함되어 있습니다. 쿼리 조건의 예제 및 작동 방식을 참조하세요.

기본 WHERE 절을 사용자 지정하는 방법의 예는 쿼리 결과를 제한하는 것입니다. 고객의 전화 번호를 찾으려고 하며 그의 성을 Bagel로만 기억할 수 있다고 가정해 보겠습니다. 이 예제에서 성은 LastName 필드에 저장되므로 SQL 구문은 다음과 같습니다.

WHERE [LastName]='Bagel'

WHERE 절을 사용하여 일치하는 데이터가 있지만 데이터 형식이 다른 열에 대한 데이터 원본을 결합합니다. 이는 데이터 형식이 다른 필드 간에 조인을 만들 수 없으므로 편리합니다. 한 필드를 LIKE 키워드와 함께 다른 필드에 대한 기준으로 사용합니다. 예를 들어 Assets 테이블 및 Employees 테이블의 데이터를 사용하려는 경우 Assets 테이블의 자산 유형 필드에 있는 자산 유형에 Employees 테이블의 Quantity 필드에 3번이 있는 경우에만 WHERE 절의 모양은 다음과 같습니다.

WHERE field1 LIKE field2

중요:  WHERE 절에서 집계 함수와 함께 사용되는 필드에 대한 조건을 지정할 수 없습니다. 대신 HAVING 절을 사용하여 집계 필드에 대한 조건을 지정합니다.

맨 위로 이동

UNION 연산자를 사용하여 사용자 지정

몇 가지 유사한 선택 쿼리의 결과를 결합한 보기를 보려면 UNION 연산자를 사용합니다. 예를 들어 데이터베이스에 Products 테이블과 서비스 테이블이 있고 둘 다 독점 제품 또는 제품 또는 서비스, 가격, 보증 또는 보증의 세 가지 필드가 있는 경우입니다. Products 테이블에는 보증 정보가 저장되고 서비스 테이블에는 보장 정보가 저장되지만 기본 정보는 동일합니다. 공용 구조체 쿼리를 사용하여 다음과 같은 두 테이블의 세 필드를 결합할 수 있습니다.

SELECT name, price, warranty, exclusive_offerFROM ProductsUNION ALLSELECT name, price, guarantee, exclusive_offer FROM Services;

쿼리를 실행하면 각 해당 필드 집합의 데이터가 하나의 출력 필드로 결합됩니다. 결과에 중복 행을 포함하려면 ALL 연산자를 사용합니다.

참고:  Select 문은 동일한 수의 출력 필드와 동일한 순서로 동일하거나 호환되는 데이터 형식을 가져야 합니다. 공용 구조체 쿼리를 위해 숫자 및 텍스트 데이터 형식이 호환됩니다.

공용 구조체 쿼리에 대한 자세한 내용은 공용 구조체 쿼리를 사용하여 여러 쿼리의 통합 결과 보기를 참조하세요.

맨 위로 이동

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

구독 혜택을 살펴보고, 교육 과정을 찾아보고, 디바이스를 보호하는 방법 등을 알아봅니다.

커뮤니티를 통해 질문하고 답변하고, 피드백을 제공하고, 풍부한 지식을 갖춘 전문가의 의견을 들을 수 있습니다.