DB

[MySQL] SELECT 기본 조회 방법 완벽 정리

인생아 2025. 6. 24. 12:28
반응형

MySQL에서 가장 많이 쓰는 SQL 명령어는 단연 SELECT이다.
데이터베이스에 저장된 정보를 꺼내는 기본 구문이자,
모든 SQL 학습의 출발점이기도 하다.

📌 SELECT 기본 구문 구조

SELECT [컬럼명1, 컬럼명2, ...] FROM [테이블명];
 

예를 들어, users 테이블에서 모든 데이터를 조회하려면 다음과 같이 작성한다.

SELECT * FROM users;
  • *는 모든 컬럼을 조회하겠다는 의미이다.
  • 실제 서비스에서는 조회 속도나 보안 이슈로 인해 특정 컬럼만 조회하는 것이 권장된다.
반응형

🧱 특정 컬럼만 조회하기

SELECT name, age FROM users;

이 쿼리는 users 테이블에서 name, age 컬럼만 추출한다.
테이블 구조가 복잡하거나 불필요한 데이터까지 가져오는 것을 방지할 수 있어
성능 최적화 측면에서도 유리하다.

🔍 WHERE 조건절을 통한 필터링

WHERE 절을 사용하면 조건에 맞는 행만 추출할 수 있다.

SELECT * FROM users WHERE age > 30;
  • 나이가 30세 초과인 사용자만 조회
  • 조건에는 =, <, >, <=, >=, BETWEEN, LIKE, IN, IS NULL 등의 다양한 연산자가 사용된다

✅ 예제: 문자열 패턴 검색

SELECT * FROM users WHERE name LIKE '김%';
  • 김으로 시작하는 이름을 가진 사용자만 조회

📊 ORDER BY 정렬

조회된 결과는 기본적으로 입력 순서대로 정렬되지 않는다.
정렬이 필요할 경우 ORDER BY 절을 사용한다.

SELECT * FROM users ORDER BY age DESC;
  • 나이 기준으로 내림차순 정렬
  • ASC는 오름차순(기본값), DESC는 내림차순
반응형

🎯 LIMIT을 통한 결과 수 제한

SELECT * FROM users LIMIT 10;
  • 최대 10건까지만 조회
  • 페이지네이션 구현에도 자주 사용됨
SELECT * FROM users LIMIT 10 OFFSET 20;
  • 21번째 행부터 10개를 조회 (즉, 3페이지)

🧠 실전 예제 – 조건, 정렬, 제한을 함께 사용하는 복합 쿼리

SELECT id, name, age 
FROM users 
WHERE age BETWEEN 20 AND 40 
ORDER BY age ASC 
LIMIT 5;

이 쿼리는 다음을 수행한다.

  • 나이가 20~40세 사이인 사용자 중
  • 나이 순으로 오름차순 정렬하고
  • 최대 5명까지 조회

🧰 AS 별칭으로 컬럼명 또는 테이블명 간소화

SELECT name AS '이름', age AS '나이' FROM users;
  • 조회 결과에서 컬럼 이름을 보기 쉽게 바꿔서 출력 가능
  • 복잡한 쿼리에서는 테이블명에도 별칭을 주는 것이 일반적이다
반응형

📦 DISTINCT로 중복 제거

SELECT DISTINCT age FROM users;
  • 중복된 나이를 제거하고, 고유한 값만 반환

정리하자면…

MySQL에서 SELECT 문은 가장 많이 사용되는 명령어이며,
다음과 같은 요소들이 함께 사용된다.

  • SELECT: 가져올 컬럼 지정
  • FROM: 대상 테이블 지정
  • WHERE: 조건 필터링
  • ORDER BY: 정렬
  • LIMIT: 결과 수 제한
  • DISTINCT: 중복 제거
  • AS: 별칭 지정

이를 잘 조합하면 실무에서 매우 유용한 데이터 추출 쿼리를 구성할 수 있다.

📎 공식 문서 참고

MySQL SELECT 공식 문서
https://dev.mysql.com/doc/refman/8.0/en/select.html

 
반응형