Access SQL: 기본 개념, 어휘 및 구문

Access SQL: 기본 개념, 어휘 및 구문

데이터베이스에서 데이터를 검색하려는 경우 데이터를 구조적 쿼리 언어 또는 SQL. SQL 언어는 영어와 밀접하게 관련이 있는 컴퓨터 언어이지만 데이터베이스 프로그램이 이해합니다. 실행되는 모든 쿼리는 배경에서 SQL 사용합니다.

작동 SQL 이해하면 더 나은 쿼리를 만드는 데 도움이 될 수 있으며 원하는 결과를 반환하지 않는 쿼리를 수정하는 방법을 쉽게 이해할 수 있습니다.

Access SQL에 대한 일련의 문서 중 하나입니다. 이 문서에서는 데이터를 선택하는 데 SQL 기본 사용법을 설명하고 예제를 사용하여 SQL 구문을 설명합니다.

이 문서의 내용

어떤 SQL?

SQL 팩트 집합과 그 사이의 관계를 작업하기 위한 컴퓨터 언어입니다. Access와 같은 관계형 데이터베이스 프로그램은 Microsoft Office 데이터를 SQL 사용할 수 있습니다. 많은 컴퓨터 언어와 달리, SQL 읽기와 이해가 어렵지 않습니다. 많은 컴퓨터 언어와 마찬가지로 SQL ISO 및 ANSI와 같은 표준 기관에서 인식하는 국제 표준입니다.

질문에 SQL 수 있는 데이터 집합을 설명하는 데 사용할 수 있습니다. SQL 올바른 구문을 사용해야 합니다. 구문은 언어의 요소가 올바르게 결합되는 규칙 집합입니다. SQL 구문은 영어 구문을 기반으로 하여 VBA(Visual Basic for Applications) 구문과 동일한 많은 요소를 사용합니다.

예를 들어 SQL 이름을 가진 연락처의 성 목록을 검색하는 간단한 명령문은 다음과 같습니다.

SELECT Last_Name
FROM Contacts
WHERE First_Name = 'Mary';

참고: SQL 데이터 조작뿐만 아니라 테이블과 같은 데이터베이스 개체의 디자인을 만들고 변경하는 데도 사용됩니다. 데이터베이스 개체를 SQL 변경하는 데 사용되는 일부를 DDL(데이터 정의 언어)이라고 합니다. 이 항목에서는 DDL을 다루지 않습니다. 자세한 내용은 데이터 정의 쿼리를 사용하여 테이블 또는 인덱스 만들기 또는 수정 문서를 참조하세요.

SELECT 문

데이터 집합을 사용하여 SQL SELECT 문을 작성합니다. SELECT 문에는 데이터베이스에서 얻을 데이터 집합에 대한 전체 설명이 포함되어 있습니다. 포함되는 항목은 다음과 같습니다.

  • 데이터를 포함하는 테이블

  • 서로 다른 원본의 데이터가 관련되는 방식입니다.

  • 데이터를 생성하는 필드 또는 계산입니다.

  • 데이터를 포함해야 하는 조건입니다.

  • 결과를 정렬하는 방법과 여부

SQL 절

문장과 마찬가지로 SQL 문에는 절이 있습니다. 각 절은 SQL 함수를 수행합니다. SELECT 문에는 일부 절이 필요합니다. 다음 표에는 가장 일반적인 SQL 나열되어 있습니다.

SQL 절

기능

필수

SELECT

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

FROM

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

WHERE

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

아니요

ORDER BY

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

아니요

GROUP BY

집계 함수가 SQL 문에서 SELECT 절에 요약되지 않은 필드가 나열됩니다.

이러한 필드가 있는 경우만

HAVING

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

아니요

SQL 용어

각 SQL 절은 언어 부분과 비슷한 용어로 구성됩니다. 다음 표에는 용어의 SQL 나열되어 있습니다.

SQL 용어

음성의 비교할 수 있는 부분

정의

예제

식별자

noun

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

고객. [전화 번호]

연산자

동사 또는 부사

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

AS

상수

noun

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

42

adjective

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

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

맨 위로 이동

기본 SQL 절: SELECT, FROM 및 WHERE

SQL 문은 일반적인 형식을 입니다.

SELECT field_1
FROM table_1
WHERE criterion_1
;

참고 사항: 

  • Access는 명령문의 줄 바를 SQL 무시합니다. 그러나 각 절에 대한 줄을 사용하여 사용자 및 다른 사용자에 대한 SQL 가독성을 향상시키는 것이 고려됩니다.

  • 모든 SELECT 문은 세미 콜론(;). 세미 콜론은 마지막 절의 끝에 표시되거나 명령문의 끝에 SQL 있습니다.

Access의 예제

다음은 Access에서 간단한 SQL 쿼리에 대한 명령문의 모양을 보여 주는 것입니다.

SELECT 문을 보여 주는 SQL 개체 탭

1. SELECT 절

2. FROM 절

3. WHERE 절

이 예제 SQL 문은 "연락처라는 테이블에서 전자 메일 주소 및 회사라는 필드에 저장된 데이터, 특히 필드의 값이 시애틀인 레코드를 선택합니다."를 읽습니다.

한 번씩 하나의 절인 예제를 살펴보고 구문이 작동하는 SQL 살펴보겠습니다.

SELECT 절

SELECT [E-mail Address], Company

SELECT 절입니다. 연산자(SELECT)와 두 식별자([전자 메일 주소] 및 회사)로 구성됩니다.

식별자가 공백 또는 특수 문자(예: "전자 메일 주소")를 포함하는 경우 사각형 대괄호로 묶아야 합니다.

SELECT 절은 필드를 포함하는 테이블을 말할 필요가 없습니다. 포함할 데이터에서 충족해야 하는 조건을 지정할 수 없습니다.

SELECT 절은 항상 SELECT 문의 FROM 절 앞에 나타납니다.

FROM 절

FROM Contacts

FROM 절입니다. 연산자(FROM)와 식별자(연락처)로 구성됩니다.

FROM 절은 선택할 필드를 나열하지 않습니다.

WHERE 절

WHERE City="Seattle"

WHERE 절입니다. 연산자(WHERE)와 식(City="Seattle")으로 구성됩니다.

참고: SELECT 및 FROM 절과 달리 WHERE 절은 SELECT 문의 필수 요소가 아닙니다.

SELECT, FROM 및 WHERE 절을 SQL 수행할 수 있는 많은 작업을 수행할 수 있습니다. 이러한 절을 사용하는 방법에 대한 자세한 내용은 다음 추가 문서에 표시됩니다.

맨 위로 이동

결과 정렬: ORDER BY

Microsoft Excel과 마찬가지로 Access를 사용하면 데이터시트에서 쿼리 결과를 정렬할 수 있습니다. ORDER BY 절을 사용하여 쿼리를 실행할 때 결과를 정렬하는 방법을 쿼리에 지정할 수 있습니다. ORDER BY 절을 사용하는 경우 명령문의 SQL 절입니다.

ORDER BY 절에는 정렬 작업을 적용하려는 순서와 동일한 순서로 정렬에 사용할 필드 목록이 포함되어 있습니다.

예를 들어 결과를 내선 순서로 필드 회사의 값으로 먼저 정렬하고 회사에 대해 동일한 값이 있는 레코드가 있는 경우 필드 전자 메일 주소의 값에 따라 오차 순서로 정렬할 수 있습니다. ORDER BY 절은 다음과 같습니다.

ORDER BY Company DESC, [E-mail Address]

참고: 기본적으로 Access는 오차 순서로 값을 정렬합니다(A-Z, 가장 작음에서 가장 큰 값). DESC 키워드를 사용하여 값을 내선 순서로 정렬합니다.

ORDER BY 절에 대한 자세한 내용은 ORDER BY 절 을 참조하세요.

맨 위로 이동

요약된 데이터 작업: GROUP BY 및 HAVING

한 달의 총 판매량 또는 재고에서 가장 비싼 항목과 같은 요약된 데이터를 사용하려는 경우도 있습니다. 이렇게하려면 SELECT 절의 집계 함수 필드에 집계 함수 적용합니다. 예를 들어 쿼리에서 각 회사에 대해 나열된 전자 메일 주소 수를 표시하려는 경우 SELECT 절은 다음과 같습니다.

SELECT COUNT([E-mail Address]), Company

사용할 수 있는 집계 함수는 사용할 필드 또는 식에 있는 데이터 형식에 따라 다릅니다. 사용 가능한 집계 함수에 대한 자세한 내용은 집계 함수 SQL 참조하세요.

집계 함수에 사용되지 않는 필드 지정: GROUP BY 절

집계 함수를 사용하는 경우 일반적으로 GROUP BY 절도 만들어야 합니다. GROUP BY 절에는 집계 함수를 적용하지 않는 모든 필드가 나열됩니다. 쿼리의 모든 필드에 집계 함수를 적용하는 경우 GROUP BY 절을 만들지 않습니다.

GROUP BY 절은 WHERE 절 또는 WHERE 절이 없는 경우 FROM 절을 즉시 따르게 됩니다. GROUP BY 절은 SELECT 절에 나타나는 필드를 나열합니다.

예를 들어 이전 예제를 계속합니다. SELECT 절이 [전자 메일 주소]에 집계 함수를 적용하지만 회사가 아닌 경우 GROUP BY 절은 다음과 같습니다.

GROUP BY Company

GROUP BY 절에 대한 자세한 내용은 GROUP BY 절 을 참조하세요.

그룹 조건을 사용하여 집계 값 제한: HAVING 절

조건을 사용하여 결과를 제한하려는 경우 조건을 적용할 필드가 집계 함수에 사용되는 경우 WHERE 절을 사용할 수 없습니다. 대신 HAVING 절을 사용합니다. HAVING 절은 WHERE 절처럼 작동하지만 집계된 데이터에 사용됩니다.

예를 들어 SELECT 절의 첫 번째 필드에 AVG 함수(평균 값을 계산하는)를 사용했다고 가정합니다.

SELECT COUNT([E-mail Address]), Company

쿼리가 해당 COUNT 함수의 값을 기반으로 결과를 제한하려는 경우 WHERE 절에서 해당 필드에 대한 조건을 사용할 수 없습니다. 대신, HAVING 절에 조건을 넣습니다. 예를 들어 회사와 연결된 전자 메일 주소가 두 개 이상 있는 경우 쿼리에서 행을 반환하려는 경우 HAVING 절은 다음과 같습니다.

HAVING COUNT([E-mail Address])>1

참고: 쿼리에는 WHERE 절 및 HAVING 절이 있습니다. 집계 함수에 사용되지 않는 필드에 대한 조건은 WHERE 절로 이동하고 집계 함수에 사용되는 필드에 대한 조건은 HAVING 절에 있습니다.

HAVING 절에 대한 자세한 내용은 HAVING 절 을 참조하세요.

맨 위로 이동

쿼리 결과 결합: UNION

여러 유사한 선택 쿼리에서 반환되는 모든 데이터를 함께 검토하려는 경우 결합 집합으로 UNION 연산자를 사용하게 됩니다.

UNION 연산자를 사용하면 두 SELECT 문을 하나씩 결합할 수 있습니다. 결합하는 SELECT 문에는 동일한 순서로 동일한 수의 출력 필드가 있어야 합니다. 동일한 데이터 형식 또는 호환되는 데이터 형식이 있어야 합니다. 쿼리를 실행할 때 해당 필드의 각 집합의 데이터가 하나의 출력 필드로 결합되어 쿼리 출력이 각 선택 문과 동일한 수의 필드를 하게 됩니다.

참고: 유니온 쿼리의 경우 숫자 및 텍스트 데이터 형식이 호환됩니다.

UNION 연산자를 사용하는 경우 ALL 키 단어를 사용하여 쿼리 결과에 중복 행이 포함될지 여부를 지정할 수 있습니다.

두 SELECT SQL 결합하는 Union 쿼리에 대한 기본 구문은 다음과 같습니다.

SELECT field_1
FROM table_1
UNION [ALL]
SELECT field_a
FROM table_a
;

예를 들어 제품이라는 테이블과 서비스라는 다른 테이블이 있는 경우를 가정해 보겠습니다. 두 테이블에는 제품 또는 서비스의 이름, 가격, 보증 또는 보증 가용성, 제품 또는 서비스를 독점적으로 제공하는지 여부가 포함된 필드가 있습니다. 제품 테이블은 보증 정보를 저장하고 서비스 테이블은 정보를 보장합니다. 기본 정보는 동일합니다(특정 제품 또는 서비스에 품질 약속 포함 여부). 다음과 같은 유니온 쿼리를 사용하여 두 테이블의 네 필드를 결합할 수 있습니다.

SELECT name, price, warranty_available, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee_available, exclusive_offer
FROM Services
;

UNION 연산자를 사용하여 SELECT 문을 결합하는 방법에 대한 자세한 내용은 Union 쿼리를 사용하여 여러 선택 쿼리의 결과 결합을 참조하세요.

맨 위로 이동

추가 도움이 필요하신가요?

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

이 정보가 유용한가요?

의견 주셔서 감사합니다!

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

×