안녕하세요~ 오늘은! SELECT 문에 대해서 자세히 알아보도록 합시다!!
SQL(Structured Query Language)은 관계형 데이터베이스 관리 시스템(RDBMS)에 저장된 데이터를 관리하도록 설계된 프로그래밍 언어입니다. 그중에서 SELECT 문은 SQL 문 중에서 가~~~~ 장 중요한 명령문 중 하나인데요! 데이터베이스에서 데이터를 검색할 때 사용되는 명령문입니다.
SQL SELECT 문이란 무엇일까요?
SELECT 문은 데이터베이스에서 데이터를 검색하는 데 사용됩니다. 테이블에서 검색하려는 열과 행을 지정할 수 있습니다. SELECT 문은 다음과 같이 사용합니다.
SELECT column1, column2, ...
FROM table_name;
위 구문을 보면 열 이름은 쉼표로 구분하고, 테이블 이름은 FROM 키워드 뒤에 지정했습니다. *(별표) 기호를 사용해서 테이블에 있는 모든 열을 선택했습니다.
다음은 "customer_id", "name", "email", "phone" 열이 있는 "customers"라는 테이블이 있다고 가정해 보겠습니다. customers 테이블에서 모든 열을 검색하는 SELECT 문은 다음과 같습니다.
SELECT *
FROM customers;
조건이 있는 SQL SELECT 문
WHERE 절을 사용하면 조건에 따라 데이터를 필터링할 수 있습니다. 결과 집합에 포함될 각 행에 대해서 원하는 조건을 지정할 때 사용됩니다. 다음 구문은 SELECT 문에서 WHERE 절을 사용하는 방법은 아래와 같습니다.
SELECT column1, column2, ...
FROM table_name
WHERE condition;
조건을 WHERE 키워드 뒤로 지정하면 됩니다. =, <>, <, >, <=, >= 등의 연산자도 조건에 사용할 수 있습니다.
예를 들어서 이름이 'C'로 시작하는 고객만 고객 테이블에서 검색하고 싶다면~
SELECT *
FROM customers
WHERE name LIKE 'C%';
이런 식으로 호출해 주면 됩니다.
결과 정렬하기
ORDER BY 절을 사용하면 결과를 오름차순 또는 내림차순으로 정렬할 수 있습니다. 정렬 기준이 되는 열을 하나 이상 지정해 주면 됩니다. ORDER BY 절을 사용하는 방법은 아래처럼 하면 됩니다.
SELECT column1, column2, ...
FROM table_name
WHERE condition
ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...;
오름차순으로 정렬하고 싶다면 ASC를, 내림차순으로 정렬하고 싶다면 DESC를 사용해서 정렬 순서를 지정할 수 있어요. 생략 시 기본값은 오름차순입니다.
예를 들어서, 이름이 'C'로 시작하는 모든 고객명을 고객 테이블에서 검색하고, 그 결과를 customer_id 열을 기준으로, 내림차순으로 정렬하고 싶다고 가정해 보겠습니다. 그럼 이렇게 작성해 주면 됩니다.
SELECT *
FROM customers
WHERE name LIKE 'C%'
ORDER BY customer_id DESC;

결과 제한하기
이번에는 쿼리에서 출력되는 행 수를 제한할 수 있는 LIMIT 절을 알아봅시다! LIMIT 절을 사용하면 지정한 offset부터 반환할 행 수를 지정할 수 있습니다. 역시 아래와 같이 작성해 주면 동작합니다.
SELECT column1, column2, ...
FROM table_name
WHERE condition
ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...
LIMIT [offset,] row_count;
offset은 행을 출력하기 전에 건너뛸 행 수를 지정하고, row_count는 출력할 최대 행 수를 지정합니다.
예를 들어봅시다! 이름이 'C'로 시작하는 고객명을 고객 테이블에서 모두 검색하고 싶은 게 아니라, 처음 5명만 검색하고 싶다고 가정해 본다면, 다음과 같이 SELECT 문을 작성할 수 있습니다.
SELECT *
FROM customers
WHERE name LIKE 'C%'
LIMIT 5;

'SQL' 카테고리의 다른 글
SQL WHERE 절 종합 이해하기 (0) | 2023.04.18 |
---|---|
SQL SELECT DISTINCT 문 마스터하기!!! (0) | 2023.04.17 |
SQL과 데이터베이스 테이블, SQL 문 키워드까지 왕 기초 핵심 모음 (0) | 2023.04.15 |
RDBMS란? 관계형 데이터베이스 관리 시스템 초보자를 위한 개념 정리 (0) | 2023.04.14 |
SQL 이란 무엇일까요? Structured Query Language 초보자들을 위한 개념 정리 (0) | 2023.04.13 |