정확한 쿼리 결과를 얻기 위해 SQL 문 편집

정확한 쿼리 결과를 얻기 위해 SQL 문 편집

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

쿼리로 원하는 결과를 얻지 못하는 경우 몇 가지 기본적인 SQL 문을 추가하여 결과의 정확도를 높일 수 있습니다. 원하는 결과를 얻기 위해 편집할 수 있는 몇 가지 유형의 SQL 문과 절 또는 부분을 알아봅니다.

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

이 문서의 내용

SELECT 문 만들기

SELECT 절 사용자 지정

FROM 절 사용자 지정

WHERE 절 사용자 지정

UNION 연산자로 사용자 지정

SELECT 문 만들기

SQL SELECT 문에는 두세 개의 절이 있습니다. SELECT 절은 데이터베이스에서 데이터를 검색할 위치를 지정하고 특정 결과를 반환하도록 요청합니다.

참고: SELECT 문은 항상 세미콜론(;)으로 끝나며 이 세미콜론은 마지막 절에 표시되거나 SQL 문의 마지막 부분의 별도의 줄에 표시됩니다.

다음 SELECT 문은 시/도 열에서 "광명시"가 검색되면 연락처 테이블의 전자 메일 주소 및 회사 열에서 정보를 가져오도록 Access에 요청합니다.

SELECT 문을 보여 주는 SQL 개체 탭

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

1. SELECT 절은 사용하려는 데이터가 들어 있는 열을 나열하며 연산자(SELECT)와 그 다음에 오는 두 개의 식별자(전자 메일 주소 및 회사)로 구성됩니다. 식별자에 공백이나 특수 문자(예: "전자 메일 주소")가 있으면 식별자를 대괄호로 묶습니다.

2. FROM 절은 원본 테이블을 식별합니다. 이 예제에서는 연산자(FROM)와 그 다음에 오는 식별자(연락처)로 구성됩니다.

3. WHERE 절은 선택적인 절입니다. 이 예제에서는 연산자(WHERE)와 그 다음에 오는 식(시/도="광명시")으로 구성됩니다.

선택 쿼리에 참조에 대 한 자세한 내용은 단순 선택 쿼리를 만듭니다.

다음은 일반적인 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]

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

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 table2
ON table1.field1 = table2.field2

테이블 및 쿼리 조인에서 쿼리 조인 사용에 대 한 자세한 정보를 참조 합니다.

맨 위로 이동

WHERE 절 사용자 지정

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

기본적인 WHERE 절을 사용자 지정하는 방법에 대해 쿼리의 결과를 제한하는 예를 들어 설명하겠습니다. 고객의 전화 번호를 찾으려고 하는데 고객의 성이 김이라는 것만 기억하는 경우를 가정합니다. 이 예제에서 성은 성 필드에 저장되어 있으므로 다음과 같은 SQL 구문을 사용합니다.

WHERE [LastName]='Bagel'

WHERE 절을 사용하여 데이터가 일치하지만 데이터 형식은 다른 열 데이터 원본도 결합할 수 있습니다. 데이터 형식이 다른 필드 사이에는 조인을 만들 수 없기 때문에 이 방법은 유용합니다. LIKE 키워드를 사용하여 한 필드를 다른 필드의 조건으로 사용합니다. 예를 들어 자산 유형 필드(자산 테이블)의 자산 유형이 수량 필드(직원 테이블)의 숫자 3과 일치하는 경우에만 자산 테이블과 직원 테이블의 데이터를 사용하려면 다음과 같은 WHERE 절을 사용합니다.

WHERE field1 LIKE field2

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

맨 위로 이동

UNION 연산자로 사용자 지정

UNION 연산자를 사용하면 여러 개의 유사한 선택 쿼리에서 반환된 결과의 통합 보기를 볼 수 있습니다. 예를 들어 제품 테이블과 서비스 테이블이 있으며 두 테이블 모두에는 제품 또는 서비스의 독점 제공, 가격, 보증 또는 보장 등 필드가 세 개 있습니다. 제품 테이블에는 보증 정보가 들어 있고 서비스 테이블에는 보장 정보가 들어 있지만 정보의 기본 내용은 같습니다. 다음과 같이 통합 쿼리를 사용하여 두 테이블의 세 필드를 결합할 수 있습니다

SELECT name, price, warranty, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee, exclusive_offer
FROM Services;

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

참고:  SELECT 문은 출력 필드의 개수가 같고, 정렬 순서도 같으며, 사용한 데이터 형식이 같거나 호환 가능해야 합니다. 통합 쿼리에서는 숫자 및 텍스트 데이터 형식이 호환 가능합니다.

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

맨 위로 이동

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

이 정보가 유용한가요?

의견 주셔서 감사합니다!

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

×