본문 바로가기
Language/MySQL

SQL문 기본 구조

by Mesut Özil 2023. 12. 25.

SQL문 기본 구조

  • SQL 문법 순서:  SELECT → FROM → WHERE → GROUP BY → HAVING → ORDER BY
  • SQL 실행 순서:  FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY

 

1. SELECT 절 ()

  • 데이터 조회할 때 사용되는 절 중 하나로, *를 사용하여 모든 열을 선택 가능
  • 특정 열(column)이나 표현식(expression)을 사용하여 데이터를 선택 후 결과 반환
  • employees 테이블에서 first_name last_name 열 선택하여 조회
SELECT first_name, last_name
FROM employees;

 

2. FROM 절 ()

  • 데이터 조회테이블을 지정
  • 테이블은 데이터 저장된 공간이며, 데이터베이스에는 여러 테이블 존재 가능
  • products 테이블에서 product_name과 price 열을 선택
SELECT product_name, price
FROM products;

 

3. WHERE 절 ()

  • 특정 조건 지정하여 그 조건을 만족하는 행(row)만을 조회
  • WHERE 절선택 사항이며, 생략 가능
  • products 테이블에서 price 100보다 큰 제품의 product_name과 price를 선택
SELECT product_name, price
FROM products
WHERE price > 100;

 

4. GROUP BY 절 ()

  • 그룹화하려는 열의 이름을 지정하며, 집계 함수 함께 사용
  • GROUP BY절 선택 사항이며, 생략 가능
  • GROUP BY 그룹화한 열 SELECT 절에 명시적으로 포함시키는 것이 좋습니다.
  • employees 테이블에서 부서별 평균 연봉을 추출
SELECT department, AVG(salary) as average_salary
FROM employees
GROUP BY department;

 

5. HAVING 절 ()

  • 그룹화된 결과에 대한 조건 지정하며, 일반적으로 집계 함수 함께 사용
  • HAVING절 선택 사항이며, 생략 가능
  • 부서별 평균 연봉 50,000보다 큰 경우에 대한 결과를 선택
SELECT department, AVG(salary) as average_salary
FROM employees
GROUP BY department
HAVING AVG(salary) > 50000;

 

6. ORDER BY 절 ()

  • 정렬 기준이 되는 열의 이름을 지정하고, 필요에 따라 오름차순(ASC) 또는 내림차순(DESC)을 명시
  • ORDER BY절 선택 사항이며, 생략 가능
  • products 테이블에서 price를 기준으로 내림차순으로 정렬된 product_name과 price를 선택
SELECT product_name, price
FROM products
ORDER BY price DESC;

 

7. LIMIT 절 ()

  • 반환할 행최대 수를 지정
  • LIMIT절 선택 사항이며, 생략 가능
  • products 테이블에서 상위 10개 제품의 product_name과 price를 선택
SELECT product_name, price
FROM products
LIMIT 10;

 

 

 

본 게시글은 ChatGPT의 도움을 받아 작성하였습니다.

'Language > MySQL' 카테고리의 다른 글

CONCAT 함수  (0) 2024.01.05
재귀 함수  (0) 2024.01.04
DataBase (데이터베이스)  (2) 2024.01.03
REGEXP (정규 표현식)  (2) 2024.01.02
SQL 집합 연산자  (0) 2023.12.29