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에서 제공하는 샘플 데이터베이스를 다운 받아서 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에서도 사용할 수 있는 점 참고!
'Database' 카테고리의 다른 글
MySQL - UK Commerce 데이터를 이용한 리포트 작성 (0) | 2023.10.12 |
---|---|
MySQL - 식품 배송 데이터 분석 (1) | 2023.10.10 |
MySQL - 상품 리뷰 데이터를 이용한 리포트 작성 (1) | 2023.10.10 |
MySQL 기본구문 - 분석을 위한 조건을 정확하게! 필터 역할 'WHERE' (0) | 2023.10.10 |
MySQL - 자동차 매출 데이터를 이용한 리포트 작성 (1) | 2023.10.05 |