SQL 기본 문법 이해하기
SQL(Structured Query Language)은 데이터베이스 관리 시스템에서 정보를 저장하고, 수정하며, 조회하는데 사용되는 표준 언어입니다. 이 글에서는 SQL의 기본인 SELECT 문과 조건절 WHERE의 활용 방법에 대해 설명드리겠습니다.

SELECT 문 기본 구조
SQL에서 데이터를 검색할 때 가장 먼저 사용되는 명령어는 SELECT입니다. SELECT 문은 다음과 같은 형식을 가집니다:
SELECT 컬럼명1, 컬럼명2
FROM 테이블명;
위 예제에서 테이블에서 특정 컬럼의 정보를 조회할 수 있습니다. 모든 컬럼을 조회하고 싶다면 *
를 사용하면 됩니다.
SELECT *
FROM 테이블명;
WHERE 절의 역할
WHERE 절은 특정 조건을 통해 원하는 데이터를 필터링할 때 사용됩니다. 이 절을 사용하면 데이터의 범위를 제한하여 더 구체적인 결과를 얻을 수 있습니다.
SELECT 컬럼명1, 컬럼명2
FROM 테이블명
WHERE 조건;
예를 들어, 특정 나이 이상의 사용자 정보를 조회하고 싶다면 아래와 같이 쿼리를 작성할 수 있습니다.
SELECT name, age
FROM users
WHERE age > 30;
조건절의 활용
WHERE 절에서 조건을 더욱 세분화할 수 있는 여러 연산자가 존재합니다. 주로 사용되는 연산자는 다음과 같습니다:
- 비교 연산자:
=, >, <, >=, <=
- 논리 연산자:
AND, OR, NOT
- IN 연산자: 특정 값 집합에서 조회
- LIKE 연산자: 패턴 매칭을 통한 문자열 검색
- BETWEEN 연산자: 특정 범위 내의 값 조회
- IS NULL: NULL 값 확인
이 연산자들을 조합하여 복잡한 조건을 작성할 수 있습니다. 예를 들어, 특정 지역의 사용자 중 나이가 30세 이상인 경우를 조회하고 싶다면 다음과 같이 쿼리를 작성할 수 있습니다.
SELECT name, age
FROM users
WHERE age >= 30 AND addr IN ('서울', '부산');

ORDER BY 절로 데이터 정렬하기
조회된 결과를 정렬하고 싶을 경우에는 ORDER BY 절을 사용합니다. 기본적으로 오름차순(ASC)으로 정렬되며, 내림차순(DESC)으로도 설정할 수 있습니다.
SELECT name, age
FROM users
ORDER BY age DESC;
LIMIT로 결과 개수 제한하기
LIMIT 절은 결과의 개수를 제한할 수 있습니다. 대량의 데이터가 존재할 때 일부만 조회하고 싶을 경우 매우 유용합니다.
SELECT name
FROM users
LIMIT 5;
DISTINCT로 중복 값 제거하기
특정 컬럼에서 중복된 값을 제거하고 고유한 데이터만을 조회하고 싶다면 DISTINCT 키워드를 사용할 수 있습니다.
SELECT DISTINCT department
FROM employees;
GROUP BY와 HAVING으로 데이터 집계
GROUP BY 절은 데이터를 그룹화하여 요약된 결과를 출력할 때 사용됩니다. 주로 집계 함수와 함께 사용되며, HAVING 절을 사용하여 그룹화된 데이터에 조건을 적용할 수 있습니다.
SELECT department, COUNT(*)
FROM employees
GROUP BY department
HAVING COUNT(*) > 5;
JOIN으로 여러 테이블에서 데이터 조회하기
JOIN 구문은 여러 테이블의 데이터를 결합하여 조회할 수 있게 합니다. INNER JOIN, LEFT JOIN 등의 다양한 JOIN이 있으며, 이를 통해 관계형 데이터베이스의 장점을 살릴 수 있습니다.
SELECT orders.order_id, customers.name
FROM orders
INNER JOIN customers ON orders.customer_id = customers.customer_id;
서브쿼리 사용하기
서브쿼리는 하나의 쿼리 안에 다른 쿼리를 중첩하여 사용하여 복잡한 데이터 조회를 가능하게 합니다. 주로 WHERE 절 내에서 사용됩니다.
SELECT name
FROM users
WHERE department_id IN (
SELECT department_id
FROM departments
WHERE location = 'Seoul'
);

마무리
SQL의 기본 문법인 SELECT와 WHERE 절의 활용을 통해 데이터를 효율적으로 조회하는 방법을 배워 보았습니다. 다양한 조건과 명령어들을 조합하여 데이터를 정확하고 간편하게 조작하는 것은 데이터베이스를 잘 활용하는 중요한 부분입니다. 앞으로도 SQL에 대한 이해를 깊이 있게 다져보시길 바랍니다.
자주 찾는 질문 Q&A
SQL의 SELECT 문은 어떤 역할을 하나요?
SELECT 문은 데이터베이스에서 특정 정보를 조회하는 기본적인 명령어로, 원하는 컬럼들을 선택하여 데이터를 가져올 수 있도록 도와줍니다.
WHERE 절은 무엇에 사용되나요?
WHERE 절은 특정 조건을 기반으로 데이터를 필터링하여 사용자에게 필요한 정보만을 추출하는 데 사용됩니다.
SQL에서 JOIN의 기능은 무엇인가요?
JOIN은 두 개 이상의 테이블의 데이터를 결합하여 복합적인 정보를 조회할 수 있도록 하는 방법으로, 관계형 데이터베이스에서 매우 유용합니다.