컴활 1급 쿼리·SQL — 선택/실행 쿼리와 명령문 정리

컴활 1급 쿼리 단원을 Access 2021 기준으로 정리했다. 선택 쿼리, 실행 쿼리, Select·Insert·Update·Delete, Where, Group By, Having의 핵심을 설명한다.

글쓴이 DAYLAB ·

컴활 1급 쿼리는 데이터베이스 일반에서 조건을 읽는 힘이 가장 많이 필요한 영역입니다. 테이블이 데이터를 저장하는 구조라면, 쿼리는 그 데이터에서 필요한 것만 선택하거나 계산하거나 변경하는 도구입니다. DB 빈출 실측에서 쿼리·SQL은 13.2%로 테이블이나 폼보다 비중은 낮지만, 조건식과 SQL 명령문이 섞이면 체감 난이도가 올라갑니다.

이 글은 Access 2021 기준으로 컴활 1급 쿼리의 핵심을 정리합니다. 선택 쿼리와 실행 쿼리의 차이, Select·Insert·Update·Delete 같은 SQL 명령문, Where와 Group By의 역할을 중심으로 봅니다. 쿼리를 제대로 이해하려면 컴활 1급 액세스 테이블의 필드·관계 구조를 먼저 잡는 것이 좋고, 전체 과목 위치는 컴활 1급 데이터베이스에서 확인할 수 있습니다.

쿼리는 무엇을 하는 개체인가

쿼리는 테이블의 데이터를 조건에 따라 가져오거나, 계산 결과를 만들거나, 데이터를 변경하는 개체입니다. 단순히 "검색 기능"으로만 보면 범위가 좁습니다. 컴활 1급 출제기준에서는 선택 쿼리, 계산 쿼리, 매개변수 쿼리, 실행 쿼리, 크로스탭 쿼리, SQL 명령문이 함께 등장합니다. 따라서 쿼리는 데이터베이스 안에서 데이터를 읽고 가공하는 중간 처리 단계로 보는 것이 정확합니다.

선택 쿼리는 원본 데이터를 조건에 맞게 조회합니다. 테이블에 저장된 데이터를 직접 바꾸지 않고, 필요한 필드와 레코드를 선택해 보여주는 방식입니다. 계산 필드를 만들거나 조건을 걸거나 정렬을 지정할 수 있습니다. 매개변수 쿼리는 실행할 때 사용자가 조건 값을 입력하도록 하는 쿼리로 이해하면 됩니다. 문제에서는 조건을 어디에 두는지, 어떤 필드를 표시하는지, 계산식이 어떤 결과를 만드는지가 중요합니다.

실행 쿼리는 데이터를 실제로 변경하거나 새 테이블을 만드는 쿼리입니다. 테이블 만들기, 추가, 삭제, 업데이트 쿼리가 여기에 속합니다. 선택 쿼리와 달리 결과를 보여주는 데 그치지 않고 데이터에 영향을 줄 수 있습니다. 이 차이는 반드시 구분해야 합니다. 문제에서 "레코드를 삭제한다", "값을 변경한다", "새 테이블을 만든다", "다른 테이블에 추가한다" 같은 표현이 나오면 실행 쿼리와 연결해서 판단해야 합니다.

쿼리 단원은 테이블 구조를 모르면 어렵습니다. 어떤 필드가 숫자인지, 어떤 필드가 날짜인지, 어떤 테이블과 관계가 있는지에 따라 조건식과 계산식의 의미가 달라집니다. 그래서 쿼리는 테이블 다음에 공부하는 것이 자연스럽습니다. 테이블의 필드 속성을 이해한 뒤 쿼리를 보면 조건과 결과가 훨씬 명확해집니다.

Select, Insert, Update, Delete의 구분

SQL 명령문은 처음 보면 어렵지만, 네 가지 기본 동작으로 나누면 정리됩니다. Select는 데이터를 조회합니다. Insert는 데이터를 추가합니다. Update는 기존 데이터를 수정합니다. Delete는 데이터를 삭제합니다. 이 네 가지는 각각 목적이 다르므로, 문제의 동사에 집중하면 구분이 쉬워집니다. "가져온다"는 Select, "넣는다"는 Insert, "바꾼다"는 Update, "지운다"는 Delete입니다.

Select 문은 가장 기본적인 조회 명령입니다. 필요한 필드를 선택하고, 어떤 테이블에서 가져올지 지정하고, 조건을 붙여 원하는 레코드만 가져옵니다. 조건에는 Where가 사용됩니다. 정렬이 필요하면 Order By가 붙습니다. 그룹별 요약이 필요하면 Group By와 집계 함수가 연결됩니다. Select는 쿼리 단원에서 가장 넓게 활용되므로, 구조를 문장처럼 읽는 연습이 필요합니다.

Insert 문은 새 레코드를 추가하는 명령입니다. 기존 테이블에 값을 넣거나, 다른 쿼리 결과를 추가하는 흐름과 연결될 수 있습니다. Update 문은 조건에 맞는 레코드의 값을 바꿉니다. 이때 Where 조건을 잘못 이해하면 어떤 레코드가 바뀌는지 판단하기 어렵습니다. Delete 문은 조건에 맞는 레코드를 삭제합니다. 삭제는 필드 값을 비우는 것이 아니라 레코드 자체를 제거하는 동작으로 이해해야 합니다.

실행 쿼리와 SQL 명령문은 함께 봐야 합니다. 추가 쿼리와 Insert, 업데이트 쿼리와 Update, 삭제 쿼리와 Delete는 목적이 연결됩니다. 테이블 만들기 쿼리는 별도의 새 테이블을 만드는 동작으로 구분하면 됩니다. 시험 준비에서는 문법 전체를 깊게 파는 것보다, 각 명령이 데이터에 어떤 영향을 주는지 정확히 판단하는 것이 우선입니다.

Where, Group By, Having 읽는 법

Where는 레코드를 고르는 조건입니다. 특정 필드의 값이 어떤 조건을 만족하는 레코드만 선택합니다. 숫자 비교, 문자 비교, 날짜 조건, 논리 연산, 와일드카드, Null 조건 등이 함께 나올 수 있습니다. Where는 집계 전의 개별 레코드에 적용되는 조건으로 이해하면 좋습니다. 조건식에서 And와 Or가 함께 나오면 우선순위와 괄호를 확인해야 합니다.

Group By는 여러 레코드를 그룹으로 묶어 요약할 때 사용합니다. 고객별 합계, 부서별 평균, 날짜별 건수처럼 같은 기준을 가진 레코드를 묶고 집계 함수로 요약합니다. Group By를 공부할 때는 "무엇을 기준으로 묶는가"와 "무엇을 계산하는가"를 분리해서 봐야 합니다. 기준 필드와 집계 필드를 헷갈리면 결과를 잘못 판단하게 됩니다.

Having은 그룹화된 결과에 조건을 거는 데 사용됩니다. Where가 개별 레코드 조건이라면, Having은 그룹 요약 결과에 대한 조건으로 볼 수 있습니다. 예를 들어 부서별 합계를 구한 뒤 합계가 특정 값 이상인 부서만 보고 싶다면 Having의 관점입니다. 이 차이는 쿼리 단원에서 자주 헷갈립니다. "그룹으로 묶기 전 조건인가, 묶은 뒤 결과 조건인가"를 기준으로 판단하면 정리됩니다.

쿼리에는 alias, 연산자, 함수도 함께 등장합니다. 별칭은 결과 필드의 표시 이름을 바꾸거나 계산 필드에 이름을 붙이는 방식입니다. 함수는 날짜, 텍스트, 선택, 형변환, 집계, 도메인 집계 등 다양한 범위에서 나올 수 있습니다. 모든 함수를 한 번에 외우기보다, 쿼리 조건과 결과를 읽는 데 필요한 함수부터 정리하는 편이 효율적입니다.

쿼리 단원 공부 순서

첫 번째는 선택 쿼리입니다. 표시할 필드, 조건, 정렬, 계산 필드, 매개변수 조건을 먼저 봅니다. 선택 쿼리는 데이터를 직접 변경하지 않기 때문에 쿼리의 기본 구조를 익히기에 좋습니다. 이 단계에서 테이블의 필드 형식과 조건식이 어떻게 연결되는지 확인해야 합니다.

두 번째는 실행 쿼리입니다. 테이블 만들기, 추가, 삭제, 업데이트 쿼리의 목적을 구분합니다. 이때 "조회"와 "변경"을 명확히 나누는 것이 중요합니다. 실행 쿼리는 데이터에 영향을 주는 동작이므로, 조건이 어떤 레코드에 적용되는지까지 봐야 합니다.

세 번째는 SQL 명령문입니다. Select, Insert, Update, Delete를 각각 독립적으로 외우기보다 선택 쿼리와 실행 쿼리의 기능에 연결해서 봅니다. Select는 조회, Insert는 추가, Update는 수정, Delete는 삭제입니다. Where, Order By, Group By, Having은 Select 문에서 특히 중요합니다.

네 번째는 폼과 보고서와의 연결입니다. 쿼리 결과는 폼이나 보고서의 원본이 될 수 있습니다. 폼에서 특정 데이터를 보여주거나, 보고서에서 그룹별 요약을 만들 때 쿼리가 중간 역할을 합니다. 따라서 컴활 1급 폼, 컴활 1급 보고서를 공부할 때 쿼리 원본을 함께 떠올리면 이해가 빨라집니다. 전체 공부 배분은 컴활 1급 독학에서 과목 간 순서와 함께 조정할 수 있습니다.

자주 묻는 질문

쿼리는 SQL 문법을 많이 외워야 하나요?

컴활 1급에서는 SQL의 모든 문법을 깊게 외우기보다, 조회·추가·수정·삭제의 목적과 조건식의 역할을 정확히 이해하는 것이 우선입니다. Select, Insert, Update, Delete의 차이를 먼저 잡아야 합니다.

선택 쿼리와 실행 쿼리는 어떻게 구분하나요?

선택 쿼리는 조건에 맞는 데이터를 조회하거나 계산해 보여주는 쿼리입니다. 실행 쿼리는 데이터를 추가, 삭제, 수정하거나 새 테이블을 만드는 등 실제 데이터에 영향을 주는 쿼리입니다.

Where와 Having은 무엇이 다른가요?

Where는 개별 레코드를 대상으로 조건을 걸고, Having은 Group By로 묶은 그룹 결과에 조건을 겁니다. 그룹화 전 조건인지, 그룹화 후 조건인지로 구분하면 됩니다.


컴활메이트 1급은 컴활 1급 출제기준에 맞춘 자체 출제 문제로 쿼리 조건식과 SQL 명령문의 판단을 반복 학습하도록 돕습니다. 본 자료는 대한상공회의소 공식 자료가 아닌 자체 출제 콘텐츠입니다.