SQL로 데이터를 조회하는 방법: 기본적인 SQL SELECT 문법

이성혁·2024년 8월 28일

Database

목록 보기
4/24
post-thumbnail

1. 데이터 조회의 기본: SELECT 문

SQL에서 데이터를 조회하려면 SELECT 문을 사용합니다. 이 문법으로 데이터베이스에서 특정 조건에 맞는 데이터를 읽어올 수 있습니다.

기본 문법

SQL의 SELECT 문은 다음과 같은 형태로 작성합니다:

SELECT 컬럼명1, 컬럼명2 FROM 테이블명 WHERE 조건;

SELECT 키워드는 조회할 컬럼을 지정하고, FROM 키워드는 데이터를 가져올 테이블을 지정합니다. WHERE 절은 선택적으로 사용하며, 특정 조건에 맞는 데이터만 조회할 때 활용합니다.

예제: 특정 직원의 이름과 직급 조회

다음은 ID가 9인 직원의 이름과 직급을 조회하는 SQL 쿼리입니다:

SELECT name, position FROM employee WHERE id = 9;

이 쿼리를 실행하면 employee 테이블에서 ID가 9인 직원의 이름과 직급을 조회합니다.

2. 여러 테이블에서 데이터 조회하기

때로는 여러 테이블에 걸쳐 데이터를 조회해야 합니다. 이 경우 JOIN을 사용하여 테이블을 연결한 후 데이터를 가져옵니다.

예제: 특정 프로젝트를 리드하는 직원의 정보 조회

예를 들어, ID가 2000인 프로젝트를 리드하는 직원의 ID, 이름, 직급을 조회하려면 다음과 같이 작성합니다:

SELECT e.id, e.name, e.position
FROM project p, employee e
WHERE p.id = 2000 AND p.leader_id = e.id;

이 쿼리는 project 테이블과 employee 테이블을 연결하여 프로젝트 리더의 정보를 가져옵니다.

3. 중복 데이터 제거: DISTINCT

조회된 데이터에서 중복된 행을 제거하려면 DISTINCT 키워드를 사용합니다.

예제: 중복된 프로젝트 ID 제거

디자이너들이 참여한 프로젝트의 ID와 이름을 중복 없이 조회하려면 다음과 같이 작성합니다:

SELECT DISTINCT p.id, p.name
FROM employee e, works_on w, project p
WHERE e.position = 'Designer' AND e.id = w.employee_id AND w.project_id = p.id;

이 쿼리는 중복된 프로젝트 ID를 제거하고 유일한 프로젝트 목록을 반환합니다.

4. 패턴 매칭: LIKE

문자열 데이터를 조회할 때 특정 패턴과 일치하는 데이터를 가져오려면 LIKE 키워드를 사용합니다.

예제: 특정 문자로 시작하거나 끝나는 이름 조회

이름이 'A'로 시작하거나 'n'으로 끝나는 직원의 이름을 조회하려면 다음과 같이 작성합니다:

SELECT name FROM employee WHERE name LIKE 'A%' OR name LIKE '%n';

여기서 % 기호는 0개 이상의 문자를 의미합니다.

5. 모든 컬럼 조회: 별표 (*)

특정 테이블의 모든 컬럼을 조회하려면 * 기호를 사용합니다.

예제: 특정 직원의 모든 정보 조회

ID가 9인 직원의 모든 정보를 조회하려면 다음과 같이 작성합니다:

SELECT * FROM employee WHERE id = 9;

이 쿼리는 해당 직원의 모든 컬럼 데이터를 반환합니다.

6. WHERE 절 없이 데이터 조회

특정 조건 없이 테이블의 모든 데이터를 조회할 때는 WHERE 절을 생략할 수 있습니다.

예제: 모든 직원의 이름과 생일 조회

모든 직원의 이름과 생일을 조회하려면 다음과 같이 작성합니다:

SELECT name, birth_date FROM employee;

이 쿼리는 employee 테이블의 모든 직원에 대한 이름과 생일 정보를 가져옵니다.


주의사항: WHERE 절과 인덱스

SELECT 문을 사용할 때 WHERE 절에 사용된 컬럼에 인덱스가 설정되어 있으면 데이터 조회 속도를 최적화할 수 있습니다. 특히 대용량 데이터베이스에서 인덱스는 성능에 중요한 영향을 미치므로, 인덱스 설정 여부를 항상 확인하는 것이 좋습니다.

이 글에서 다룬 내용은 MySQL을 기준으로 설명했습니다. 다른 데이터베이스 관리 시스템(DBMS)을 사용할 때는 SQL 문법이 약간 다를 수 있으니, 이 점을 염두에 두고 사용하세요.


출처

https://www.youtube.com/watch?v=aL0XXc1yGPs&list=PLcXyemr8ZeoREWGhhZi5FZs6cvymjIBVe

profile
항상 배우는 자세로 🪴

0개의 댓글