콘텐츠로 건너뛰기
Home » SQL 기본문법 SELECT와 WHERE 사용법

SQL 기본문법 SELECT와 WHERE 사용법

  • 기준

SQL(Structured Query Language)은 데이터베이스와 상호작용하기 위해 사용되는 표준 언어입니다. 이 글에서는 SQL에서 가장 기초적인 명령어인 SELECT문과 WHERE절의 활용법에 대해 다루어 보겠습니다. SELECT문을 통해 데이터베이스에 저장된 정보들을 효율적으로 추출할 수 있으며, WHERE절을 통해 필요한 조건에 맞는 데이터를 필터링 할 수 있습니다.

SQL SELECT 문법의 기본 구조

SQL SELECT문은 데이터베이스로부터 데이터를 조회하는 가장 기본적인 방법입니다. SELECT문은 다음과 같은 형식으로 작성됩니다:

SELECT [ALL | DISTINCT] column1, column2, ...
FROM table_name
[WHERE condition]
[ORDER BY column1, column2, ...]

여기서 SELECT 절은 가져오고자 하는 열(column)을 지정하는 부분입니다. ALL은 모든 데이터를 포함하고 DISTINCT는 중복 데이터를 제외합니다. FROM 절은 데이터가 위치한 테이블을 명시하며, WHERE절은 조건을 설정하여 특정 데이터를 추출하는 데 사용됩니다. 마지막으로 ORDER BY절은 결과를 정렬하는 기능을 담당합니다.

SELECT 절의 활용

SELECT 절에서 특정 열을 지정할 수 있으며, 모든 열을 보고 싶을 경우 ‘*’를 사용할 수 있습니다. 예를 들어, ’employees’라는 테이블에서 모든 데이터를 조회하고 싶다면 다음과 같이 입력합니다:

SELECT * FROM employees;

특정 열만 보고 싶다면 해당 열의 이름을 나열하면 됩니다. 예를 들어, 직원의 이름과 급여를 보고 싶다면:

SELECT name, salary FROM employees;

WHERE절로 데이터 필터링하기

WHERE절은 데이터를 조회할 때 필수적으로 사용할 수 있는 조건문입니다. 이 절을 통해 특정 조건을 만족하는 데이터만을 추출할 수 있습니다. 예를 들어, 특정 부서의 직원을 조회하고 싶다면 다음과 같이 쿼리를 작성할 수 있습니다:

SELECT * FROM employees WHERE department = 'Sales';

여기서 ‘Sales’ 부서에 속한 모든 직원의 정보를 가져오게 됩니다. 여러 조건을 조합할 때는 AND, OR 연산자를 사용하여 더욱 세밀한 필터링이 가능합니다. 예를 들어, 해당 부서에서 급여가 3000 이상인 직원을 검색하고자 할 때는 다음과 같이 작성할 수 있습니다:

SELECT * FROM employees WHERE department = 'Sales' AND salary >= 3000;

패턴 매칭과 LIKE 연산자

특정 패턴에 맞는 데이터를 검색하고 싶을 경우, LIKE 연산자를 활용할 수 있습니다. 예를 들어, 이름이 ‘A’로 시작하는 직원을 찾고자 할 때는 다음과 같은 쿼리를 사용할 수 있습니다:

SELECT * FROM employees WHERE name LIKE 'A%';

이 쿼리는 이름이 ‘A’로 시작하는 모든 직원의 정보를 반환합니다. 또한 ‘%A’를 사용하면 이름이 ‘A’로 끝나는 데이터를, ‘%A%’를 사용하면 이름에 ‘A’가 포함된 데이터를 조회할 수 있습니다.

ORDER BY절로 결과 정렬하기

데이터 조회 결과를 정렬하고자 할 때는 ORDER BY절을 사용할 수 있습니다. 이 절에서는 정렬할 열을 지정하며, 기본적으로 오름차순(ASC) 정렬이 적용됩니다. 만약 내림차순(DESC)으로 정렬하고 싶다면 DESC 키워드를 추가하면 됩니다. 예를 들어, 급여를 기준으로 오름차순으로 정렬하고 싶다면 다음과 같은 쿼리를 사용할 수 있습니다:

SELECT * FROM employees ORDER BY salary ASC;

정렬할 열을 여러 개 지정할 수도 있으며, 이 때 쉼표로 구분하여 나열합니다. 예를 들면 급여와 이름을 기준으로 정렬하고 싶을 때는:

SELECT * FROM employees ORDER BY salary DESC, name ASC;

GROUP BY와 HAVING을 이용한 집계

집계 함수와 함께 GROUP BY절을 사용하면 특정 컬럼의 값에 따라 데이터를 그룹화할 수 있습니다. 예를 들어, 부서별로 직원 수를 집계하고 싶다면 다음과 같은 쿼리를 작성할 수 있습니다:

SELECT department, COUNT(*) as employee_count FROM employees GROUP BY department;

여기서는 각 부서에 속한 직원 수를 보여줍니다. 그룹화된 데이터에 대해 조건을 추가하고 싶다면 HAVING절을 사용합니다. 예를 들어, 직원 수가 10명을 초과하는 부서만 보고 싶다면:

SELECT department, COUNT(*) as employee_count
FROM employees
GROUP BY department
HAVING COUNT(*) > 10;

결론

SQL의 SELECT문과 WHERE절은 데이터베이스에서 필요한 정보를 추출하기 위한 기초적이고 강력한 도구입니다. 이러한 기본기를 바탕으로 복잡한 쿼리를 작성하거나, 데이터를 효율적으로 가공하는 데 큰 도움이 될 것입니다. 앞으로 SQL을 다루시면서 더욱 다양한 쿼리 기법들을 배우시길 바랍니다.

자주 묻는 질문과 답변

SQL SELECT문이란 무엇인가요?

SQL SELECT문은 데이터베이스에서 정보를 추출하는 기본적인 명령어입니다. 이를 통해 원하는 데이터를 쉽게 조회할 수 있습니다.

WHERE절의 용도는 무엇인가요?

WHERE절은 쿼리에서 특정 조건을 설정하여 필요한 데이터만을 추출할 수 있도록 도와주는 부분입니다.

SELECT문에서 DISTINCT와 ALL의 차이는 무엇인가요?

DISTINCT는 중복된 데이터를 제외하고 고유한 값만을 반환하는 반면, ALL은 모든 데이터를 포함하여 조회합니다.

ORDER BY절은 어떤 기능을 하나요?

ORDER BY절은 조회된 결과를 특정 열을 기준으로 정렬하는 역할을 합니다. 기본적으로 오름차순으로 정렬됩니다.

패턴 매칭을 위해 어떤 연산자를 사용할 수 있나요?

LIKE 연산자를 사용하여 특정 문자열 패턴에 맞는 데이터를 검색할 수 있습니다. 이를 통해 다양한 조건의 데이터를 쉽게 찾을 수 있습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다