SQL을 공부하면 SELECT문을 정말 자주 사용하는 것을 알 수 있다. 예약어 SELECT는 특정 데이터베이스 내부 테이블 중에서 원하는 데이터를 추출해서 조회하는 명령어다. 잘 공부하여 숙지하면 원하는 데이터 집단을 정확하게 설정해서 원하는 데이터를 열람할 수 있는 아주 유용한 기능이고 매우 쉬운 기본 구조를 가지고 있지만, 깊게 공부할 수록 보기와는 다르게 상당히 어려워지는 부분이기도 하다. 일단 기본 구조부터 보자.
- SELECT (column) FROM (table) WHERE (condition)
기본구조는 간단하게 이렇게 사용할 수 있다. 전에 설명했듯이 column은 열, table은 db 속 특정 내용에 맞게 정리된 표 형식, condition은 조건이다. 예문을 통해 어떻게 쓸 수 있는지 보자. (employees라는 DB를 사용했다)
SELECT * FROM employees WHERE first_name = 'mary' ;
위 쿼리문을 통해 employees DB에서 (예문에서 적혀있는 'employees'는 테이블 이름이다. 헷갈리지 말자.) employees 테이블 속에 'mary'라는 first_name(이름)을 가진 행의 모든(*) 데이터를 볼 수 있다.
사용자가 원하는 데이터에 따라서 SQL에 블록 끼워넣기를 하듯이 주문을 하면 된다.
-- employees 테이블에서 성과 이름만 나열해서 보고싶은 경우
SELECT first_name, last_name, gender FROM employees ;
-- employees 테이블에서 성이 'Ertl'이고 이름이 'Mary'인 데이터의 행을 다 보고싶은 경우
SELECT * FROM employees WHERE first_name = 'Mary' AND last_name = 'Ertl' ;
어떤 데이터베이스가 서버에 있는지 보고, DB를 지정한 후에 세부사항을 살펴보고, 원하는 정보를 조회하는 모든 과정을 연습해봤다.
SHOW DATABASES ; -- 데이터베이스 검색
USE employees ; -- employees라는 데이터베이스로 고르고 지정하는 과정
SHOW TABLE STATUS ; -- 지정된 db의 테이블 정보를 조회 (이름만 보려면 그냥 SHOW TABLE)
DESCRIBE employees ; -- employees 테이블에 있는 열 내용 조회
SELECT first_name, gender FROM employees ; -- 최종적으로 데이터 조회
이렇게 SQL을 사용하면서 열 이름이 영어로 되어 데이터를 조회할 때 결과를 보기 불편하거나 하면 AS (열이름)으로 보여지는 이름을 변경할 수도 있다.
SELECT first_name AS 이름, gender 성별, hire_date '회사 입사일'
FROM employees ;
-- 열 이름에 띄어쓰기가 있으면 꼭 작은 따옴표('')로 묶어줘야 한다.
앞으로 실습을 통해 좀 더 자세하게 공부하도록 하겠다.
'IT Self-study > MySQL & Database' 카테고리의 다른 글
| 테이블 복사 (별첨) (0) | 2025.01.07 |
|---|---|
| 데이터 조회 (조건부 활용) (0) | 2025.01.07 |
| 실습용 DB 제작 (0) | 2024.11.02 |
| MySQL 기초 기능 (2) (0) | 2024.10.18 |
| MySQL 기초 기능 (1) (1) | 2024.10.12 |