SELECT 명령어는 MySQL 데이터베이스에서 데이터를 조회(가져오기)할 때 사용하는 가장 기본적이고 핵심적인 SQL 문입니다. 이 명령어는 mysql> 프롬프트에서 직접 실행할 수 있을 뿐만 아니라, PHP와 같은 스크립트 언어 내에서도 활용할 수 있습니다.
SELECT 문의 기본 문법
MySQL 테이블에서 데이터를 조회할 때 사용하는 SELECT 명령어의 일반적인 문법은 다음과 같습니다.
SELECT field1, field2,...fieldN FROM table_name1, table_name2... [WHERE 절] [OFFSET M ][LIMIT N]
SELECT 문의 주요 특징
쉼표(,)로 구분하여 하나 이상의 테이블을 지정할 수 있으며, WHERE 절을 통해 다양한 조건을 추가할 수 있습니다. 단, WHERE 절은 선택 사항(optional)입니다.
하나의 SELECT 문으로 한 개 또는 여러 개의 필드를 동시에 조회할 수 있습니다.
필드 이름 대신 별표(*)를 지정하면 테이블의 모든 필드를 반환합니다.
WHERE 절을 사용하여 원하는 조건을 자유롭게 지정할 수 있습니다.
OFFSET을 사용하면 결과를 반환하기 시작할 위치를 지정할 수 있습니다. 기본값은 0부터 시작합니다.
LIMIT 속성을 사용하여 반환되는 레코드의 개수를 제한할 수 있습니다.
SELECT 문 사용 예제
다음 예제는 Employee 테이블을 대상으로 SELECT 문을 다양하게 활용하는 방법을 보여줍니다.
mysql> Select * from Employee; +------+--------+ | Id | Name | +------+--------+ | 100 | Ram | | 200 | Gaurav | | 300 | Mohan | +------+--------+ 3 rows in set (0.00 sec) mysql> Select * from Employee Where Name = 'Ram'; +------+--------+ | Id | Name | +------+--------+ | 100 | Ram | +------+--------+ 1 row in set (0.00 sec) mysql> Select Id from Employee; +-----+ | Id | +-----+ | 100 | | 200 | | 300 | +-----+ 3 rows in set (0.00 sec)
위 예제에서 확인할 수 있듯이, 첫 번째 쿼리는 SELECT *를 사용하여 테이블의 모든 컬럼과 모든 행을 조회했고, 두 번째 쿼리는 WHERE 절로 'Name'이 'Ram'인 행만 필터링하여 조회했습니다. 세 번째 쿼리는 특정 컬럼(Id)만 선택적으로 가져오는 방법을 보여줍니다. 이처럼 SELECT 문은 상황에 맞게 조합하여 사용함으로써 원하는 데이터를 정확하고 효율적으로 추출할 수 있습니다.