검수요청.png검수요청.png

select

위키원
이동: 둘러보기, 검색

select관계형 데이터베이스에서 데이터를 조회하기 위해 사용하는 SQL 명령어이다. 테이블에 저장된 데이터 중 필요한 열과 행을 선택적으로 가져오는 데 사용된다.

개요[편집]

select는 SQL(Structured Query Language)의 핵심 명령어이다.

테이블로부터 특정 컬럼을 지정해 값을 가져오거나, 모든 컬럼을 조회할 수 있다.

WHERE, ORDER BY, GROUP BY, JOIN, LIMIT 등 다양한 절과 함께 사용되어 복잡한 데이터 쿼리가 가능하다.

문법[편집]

SELECT [컬럼명 | *]
FROM 테이블명
[WHERE 조건]
[GROUP BY 컬럼]
[HAVING 조건]
[ORDER BY 컬럼 [ASC | DESC]]
[LIMIT 개수];

예시[편집]

-- 모든 행과 열 조회
SELECT * FROM employees;

-- 특정 열만 조회
SELECT name, salary FROM employees;

-- 조건에 맞는 데이터만 조회
SELECT name FROM employees WHERE salary > 50000;

-- 정렬해서 조회
SELECT name, salary FROM employees ORDER BY salary DESC;
-- 상위 10명만 조회
SELECT name FROM employees ORDER BY hire_date DESC LIMIT 10;

응용 기능[편집]

1. 별칭 (Alias)
SELECT name AS 직원이름, salary AS 급여 FROM employees;

→ 결과 컬럼에 새로운 이름 부여 가능

2. 중복 제거 (DISTINCT)
SELECT DISTINCT department_id FROM employees;

→ 중복된 값은 1개만 남김

3. 계산식, 함수 사용
SELECT name, salary * 1.1 AS increased_salary FROM employees;

→ 연산자나 집계 함수 (COUNT, AVG, SUM 등) 사용 가능

4. 서브쿼리
SELECT name FROM employees
WHERE salary > (
  SELECT AVG(salary) FROM employees
);

→ 쿼리 안에 또 다른 쿼리 삽입 가능

보안 및 성능[편집]

  • 불필요한 SELECT * 지양: 필요한 컬럼만 선택해야 성능 향상됨
  • WHERE 조건 누락 주의: 대량 데이터를 불필요하게 조회할 수 있음
  • 인덱스 활용: WHERE, ORDER BY 등에 인덱스가 설정되어 있으면 속도 향상

기타[편집]

  • SELECT는 DML(Data Manipulation Language)에 속한다.
  • 읽기 전용 명령어이며, 테이블 구조나 데이터 수정은 하지 않는다.
  • DBMS에 따라 쿼리 최적화 방식이나 함수 문법이 조금씩 다를 수 있다.

관련 명령어[편집]

  • FROM – 데이터를 가져올 테이블을 지정
  • WHERE – 조건을 통해 원하는 행 필터링
  • ORDER BY – 결과 정렬
  • GROUP BY – 집계할 때 그룹을 묶음
  • JOIN – 여러 테이블을 연결해 조회
  • UNION – 둘 이상의 쿼리 결과 합치기
  • INSERT – 데이터 삽입
  • UPDATE – 데이터 수정
  • DELETE – 데이터 삭제

같이 보기[편집]


  검수요청.png검수요청.png 이 Select 문서는 데이터에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.