본문 바로가기
Database

MySQL 기본구문 - 데이터를 선택하기 위한 SELECT, FROM

by 나룽나룽 2023. 10. 4.
SELECT select_list
FROM table_name;

 

 

SELECT

: ~하나 이상의 테이블에서 내가 원하는 데이터를 선택하는 명령어 

 

먼저 SELECT 뒤에 데이터를 선택할 컬럼을 하나 이상 지정한다. 여러 컬럼일 경우 ,(쉼표)로 구분해야 한다.

FROM 에서는 데이터를 선택하려는 테이블의 이름을 지정한다.

 

FROM 

: 데이터를 검색해오는 데이터베이스와 테이블을 지정하는 구문

정확하게 어디에서, 어떤 데이터를 검색해야하는지 명확하게 작성해줘야 한다.

 

명령문 실행 순서는 FROM -> SELECT로 

어떤 데이터베이스에서(FROM) 어느 테이블을 검색(SELECT)할지

어디 테이블에서(FROM) 어떤 컬럼명을 검색(SELECT)할지로 생각하면 편하다.

 

 

쿼리문 예시 (샘플 데이터 사용)

출처 : https://www.mysqltutorial.org/mysql-sample-database.aspx

 

MySQL Sample Database

This page provides you with a MySQL sample database that helps you to practice with MySQL effectively and quickly. You can download the sample database and load it into your MySQL Server.

www.mysqltutorial.org

MySQL에서 제공하는 샘플 데이터베이스를 다운 받아서 SELECT, FROM 문을 사용해보자.

 

이번 예시에서는 샘플 데이터베이스 중 employees의 테이블을 사용한다.

테이블 employees에는 EmployeeNumber, lastName, firstName, Extension, email, officeCode, ReportsTo 및 jobTitle의 8개 열이 있는 것으로 확인된다.

 

이 중 SELECT 문을 사용하여 모든 직원의 성을 알고 싶다면?

SELECT lastName
FROM employees;

 

직원의 성은 물론, 직원의 이름, 직위를 알고 싶다면 필요한 컬럼명을 쉼표로 이어서 작성하면 된다. 

SELECT 
    lastName, 
    firstName, 
    jobTitle
FROM
    employees;

 

모든 열의 데이터를 선택하고 싶다면 모든 열의 이름을 작성하거나 모든 열의 약어인 별표(*)를 사용할 수 있다.

# * 미사용
SELECT employeeNumber,
       lastName,
       firstName,
       extension,
       email,
       officeCode,
       reportsTo,
       jobTitle
FROM   employees; 

# * 사용
SELECT * 
FROM employees;

 

 

기본적으로  MySQL은 선택한 열 이름 그대로 사용하거나 사용자 원하는대로 변경할 수 있는데

이 때 사용하는 게 alias(별칭) 이다.

 

alias(별칭)은 컬럼명이 너무 길거나 복잡한 경우에 간소화하기 위해 사용하는데

as를 생략하여 한 칸 띄어쓰기 후 별칭 입력이 가능하다.

개인취향이지만 정확한 구문을 표현하기 위해 튜토리얼에서는 as를 입력하는 것을 권장하고 있다. 

# as 사용(권장)
SELECT expression AS column_alias;

# as 미사용 
SELECT expression column_alias;

 

 

SELECT COUNT(employeeNumber) AS N_EMPLOYEE
FROM employees

아까와 동일한 employees 테이블에서 COUNT(집계함수)를 사용해 employeeNumber을 세 보았다.

해당 열의 이름은 따로 지정하지 않으면 COUNT(employeeNumber) 으로 표시되고

as N_EMPLOYEE 로 따로 표시해두면 해당 별칭으로 출력 결과에 나오게 된다. 

 

이런 별칭은 SELECT 외에도 FROM에서도 사용할 수 있는 점 참고!