SQL 기초: SELECT문 구조, 데이터 필터링 및 정렬 방법 안내
SELECT문의 기초에서는 SELECT 절의 기본 구조와 WHERE 조건절을 통해 데이터 필터링하는 방법을 설명합니다. 또한, ORDER BY를 사용한 데이터 정렬, DISTINCT로 중복 제거, SELECT AS로 별칭을 지정하는 방법을 다룹니다. SQL의 기초를 탄탄히 할 수 있는 내용입니다.
SELECT 절의 기본 구조
SQL에서 데이터베이스로부터 정보를 조회하기 위해 사용하는 기본적인 명령어가 바로 SELECT
입니다. SELECT
절은 데이터베이스의 특정 테이블에서 원하는 데이터를 선택하는 데 사용됩니다. 기본 구조는 다음과 같습니다:
SELECT 열1, 열2, ...
FROM 테이블명;
구성 요소 설명
- SELECT: 조회할 열(column)을 지정합니다. 여러 개의 열을 선택할 수 있으며, 열 이름은 쉼표로 구분합니다.
- FROM: 데이터를 조회할 테이블의 이름을 지정합니다.
예제
예를 들어, employees
테이블에서 모든 직원의 이름과 급여를 조회하고 싶다면 다음과 같은 쿼리를 사용할 수 있습니다:
SELECT first_name, salary
FROM employees;
이 쿼리는 employees
테이블에서 first_name
과 salary
열의 데이터를 선택하여 결과를 반환합니다.
모든 열 조회
특정 열을 지정하지 않고 모든 열을 조회하고 싶다면 *
기호를 사용할 수 있습니다:
SELECT *
FROM employees;
이 쿼리는 employees
테이블의 모든 열을 조회하여 결과를 반환합니다.
요약
SELECT
절은 SQL 쿼리의 핵심으로, 원하는 데이터를 선택하는 데 필수적인 요소입니다. 기본 구조를 이해하고 활용하는 것이 SQL의 기초를 다지는 첫걸음입니다.
WHERE 조건절
WHERE
조건절은 SQL 쿼리에서 특정 조건을 만족하는 데이터만 선택할 수 있도록 도와주는 중요한 요소입니다. 이 절을 사용하면 데이터베이스에서 원하는 정보를 필터링하여 보다 정확한 결과를 얻을 수 있습니다.
기본 구조
WHERE
절은 SELECT
문에서 데이터를 조회할 때 조건을 추가하는 방식으로 사용됩니다. 기본 구조는 다음과 같습니다:
SELECT 열1, 열2, ...
FROM 테이블명
WHERE 조건;
조건 작성
조건은 다양한 비교 연산자를 사용하여 작성할 수 있습니다. 일반적으로 사용되는 연산자는 다음과 같습니다:
=
: 같음!=
또는<>
: 같지 않음>
: 큼<
: 작음>=
: 크거나 같음<=
: 작거나 같음
예제
예를 들어, employees
테이블에서 급여가 3000 이상인 직원의 이름과 급여를 조회하고 싶다면 다음과 같은 쿼리를 사용할 수 있습니다:
SELECT first_name, salary
FROM employees
WHERE salary >= 3000;
이 쿼리는 employees
테이블에서 급여가 3000 이상인 직원의 first_name
과 salary
를 반환합니다.
여러 조건 사용
WHERE
절에서는 AND
와 OR
연산자를 사용하여 여러 조건을 결합할 수 있습니다. 예를 들어, 급여가 2000 이상이고 부서가 30인 직원의 이름과 급여를 조회하려면 다음과 같은 쿼리를 사용할 수 있습니다:
SELECT first_name, salary
FROM employees
WHERE salary >= 2000 AND department_id = 30;
또는 급여가 2000 이상이거나 부서가 10인 직원의 이름과 급여를 조회하려면 다음과 같이 작성할 수 있습니다:
SELECT first_name, salary
FROM employees
WHERE salary >= 2000 OR department_id = 10;
요약
WHERE
조건절을 사용하면 원하는 데이터를 보다 정확하게 필터링할 수 있습니다. 조건을 적절히 설정하여 필요한 정보만 선택하는 것이 SQL 쿼리 작성의 중요한 기술입니다.
ORDER BY를 사용한 데이터 정렬
ORDER BY
절은 SQL 쿼리에서 조회한 결과를 특정 열을 기준으로 정렬하는 데 사용됩니다. 이 절을 사용하면 데이터를 오름차순(ASC) 또는 내림차순(DESC)으로 정렬하여 보다 쉽게 결과를 분석할 수 있습니다.
기본 구조
ORDER BY
절은 SELECT
문에서 결과를 정렬할 때 사용됩니다. 기본 구조는 다음과 같습니다:
SELECT 열1, 열2, ...
FROM 테이블명
ORDER BY 열1 [ASC|DESC], 열2 [ASC|DESC, ...];
열1
,열2
: 정렬할 열의 이름ASC
: 오름차순 정렬 (기본값)DESC
: 내림차순 정렬
예제
예를 들어, employees
테이블에서 모든 직원의 이름과 급여를 조회하고, 급여를 기준으로 오름차순으로 정렬하고 싶다면 다음과 같은 쿼리를 사용할 수 있습니다:
SELECT first_name, salary
FROM employees
ORDER BY salary ASC;
이 쿼리는 employees
테이블에서 first_name
과 salary
를 조회하고, 급여를 기준으로 오름차순으로 정렬하여 결과를 반환합니다.
내림차순 정렬
급여를 기준으로 내림차순으로 정렬하고 싶다면 DESC
키워드를 사용할 수 있습니다:
SELECT first_name, salary
FROM employees
ORDER BY salary DESC;
이 쿼리는 급여가 높은 순서대로 직원의 이름과 급여를 반환합니다.
여러 열 기준 정렬
ORDER BY
절에서는 여러 개의 열을 기준으로 정렬할 수도 있습니다. 예를 들어, 부서별로 정렬한 후, 같은 부서 내에서 급여를 기준으로 내림차순으로 정렬하려면 다음과 같이 작성할 수 있습니다:
SELECT first_name, department_id, salary
FROM employees
ORDER BY department_id ASC, salary DESC;
이 쿼리는 먼저 department_id
를 기준으로 오름차순으로 정렬하고, 같은 부서 내에서는 salary
를 기준으로 내림차순으로 정렬하여 결과를 반환합니다.
요약
ORDER BY
절을 사용하면 SQL 쿼리 결과를 원하는 기준에 따라 정렬할 수 있습니다. 정렬 방법을 적절히 활용하면 데이터를 보다 쉽게 분석하고 이해할 수 있습니다.
DISTINCT를 사용한 중복 제거
DISTINCT
키워드는 SQL 쿼리에서 중복된 데이터를 제거하고 유일한 값만을 반환하는 데 사용됩니다. 데이터베이스에서 동일한 값이 여러 번 나타날 때, DISTINCT
를 사용하면 중복된 행을 제외하고 결과를 얻을 수 있습니다.
기본 구조
DISTINCT
는 SELECT
문과 함께 사용되며, 다음과 같은 기본 구조를 가집니다:
SELECT DISTINCT 열1, 열2, ...
FROM 테이블명;
이 구조에서 DISTINCT
는 지정한 열의 중복 값을 제거합니다.
예제
예를 들어, employees
테이블에서 모든 부서의 고유한 department_id
를 조회하고 싶다면 다음과 같은 쿼리를 사용할 수 있습니다:
SELECT DISTINCT department_id
FROM employees;
이 쿼리는 employees
테이블에서 중복되지 않는 department_id
값만을 반환합니다.
여러 열에서 중복 제거
DISTINCT
는 여러 열에서도 사용할 수 있습니다. 이 경우, 지정한 모든 열의 조합이 중복되지 않는 경우에만 결과에 포함됩니다. 예를 들어, 직원의 부서와 직무의 조합에서 중복을 제거하려면 다음과 같이 작성할 수 있습니다:
SELECT DISTINCT department_id, job
FROM employees;
이 쿼리는 employees
테이블에서 department_id
와 job
의 조합이 중복되지 않는 행만을 반환합니다.
주의사항
DISTINCT
를 사용할 때는 주의할 점이 있습니다. DISTINCT
는 지정한 모든 열의 조합을 기준으로 중복을 판단하기 때문에, 만약 많은 열을 지정하면 결과가 예상보다 많아질 수 있습니다. 따라서 필요한 열만 선택하는 것이 좋습니다.
요약
DISTINCT
키워드를 사용하면 SQL 쿼리에서 중복된 데이터를 효과적으로 제거할 수 있습니다. 이를 통해 데이터의 유일한 값을 쉽게 확인하고 분석할 수 있습니다.
SELECT AS로 별칭 지정
SELECT AS
구문은 SQL 쿼리에서 열의 이름을 별칭(alias)으로 지정할 수 있는 기능을 제공합니다. 별칭을 사용하면 결과 테이블의 열 이름을 보다 이해하기 쉽게 변경할 수 있으며, 쿼리의 가독성을 높이는 데 도움이 됩니다.
기본 구조
AS
키워드를 사용하여 열의 별칭을 지정하는 기본 구조는 다음과 같습니다:
SELECT 열1 AS 별칭1, 열2 AS 별칭2, ...
FROM 테이블명;
여기서 별칭
은 결과 테이블에서 보여질 열의 이름입니다.
예제
예를 들어, employees
테이블에서 직원의 이름과 급여를 조회하면서, 급여 열의 이름을 "급여"로 변경하고 싶다면 다음과 같은 쿼리를 사용할 수 있습니다:
SELECT first_name AS 이름, salary AS 급여
FROM employees;
이 쿼리는 first_name
열을 "이름"으로, salary
열을 "급여"로 표시하여 결과를 반환합니다.
별칭에 공백 포함하기
별칭에 공백을 포함하고 싶다면, 별칭을 큰따옴표로 감싸야 합니다. 예를 들어, "직원 이름"이라는 별칭을 사용하려면 다음과 같이 작성합니다:
SELECT first_name AS "직원 이름", salary AS "직원 급여"
FROM employees;
이 쿼리는 결과에서 first_name
열을 "직원 이름"으로, salary
열을 "직원 급여"로 표시합니다.
계산된 열에 별칭 지정하기
SELECT
문에서 계산된 값을 별칭으로 지정할 수도 있습니다. 예를 들어, 급여에 10%의 보너스를 추가한 값을 "총 급여"라는 별칭으로 표시하려면 다음과 같이 작성할 수 있습니다:
SELECT first_name AS 이름, salary * 1.1 AS "총 급여"
FROM employees;
이 쿼리는 각 직원의 이름과 급여에 10%를 더한 값을 "총 급여"라는 별칭으로 표시합니다.
요약
SELECT AS
구문을 사용하면 SQL 쿼리의 결과에서 열의 이름을 보다 직관적으로 변경할 수 있습니다. 이를 통해 데이터의 의미를 명확히 하고, 결과를 보다 쉽게 이해할 수 있습니다.