Database/MySQL

[MySQL]쿼리(DML 중 SELECT문) 실행 순서

GAEBAL 2023. 9. 4. 00:39
728x90

DML 중 SELECT 쿼리의 실행 순서에 대해 알아볼거임.

순서만 띡 써놓으면 정 없으니까 간단한 설명도 같이 써볼 예정 !

 

SELECT 쿼리의 실행 순서

SELECT - FROM - WHERE - GROUP BY - HAVING - ORDER BY - LIMIT, OFFSET

얘네들이 다 필수로 SELECT 쿼리에 포함되어 있어야하는 것은 아님 !

SELECT이랑 FROM 말고는 다 옵셔널함 !

 

 

SELECT

SELECT 절에서 원하는 열(컬럼)을 지정함.

이 단계에서는 데이터베이스에서 어떤 열을 반환할지 결정.

SELECT column1, column2 FROM my_table;

 

 

FROM

FROM 절에서 데이터를 조회할 테이블을 지정.

SELECT column1, column2 FROM my_table;

 

WHERE

원하는 조건을 정하여 데이터를 필터링할 수 있음.

조건에 맞는 행만 반환되어 결과로 출력.

SELECT column1, column2 FROM my_table WHERE condition;

 

GROUP BY

특정 열을 기준으로 그룹화할 수 있음.

그룹화된 결과는 집계 함수와 함께 사용이 가능함! 

SELECT column1, SUM(column2) FROM my_table GROUP BY column1;

- 집계함수란? (밑에 링크 참고)

https://seokmimmmmmmmm.tistory.com/entry/MySQL%EC%A7%91%EA%B3%84-%ED%95%A8%EC%88%98%EC%97%90-%EA%B4%80%ED%95%98%EC%97%AC

 

[MySQL]집계 함수에 관하여

집계 함수란? 집계 함수는 결과 레코드들에 대한 레코드의 개수, 값들의 합, 최대값, 최소값, 평균 등 산술적인 연산의 결과를 얻을 수 있게 해줌 !!! 또한, 여러 행으로부터 하나의 결과값을 반환

seokmimmmmmmmm.tistory.com

 

HAVING

HAVING 절은 GROUP BY 절 다음에 사용됨.

그룹화된 결과에 조건을 적용하여 그룹을 필터링.

SELECT column1, SUM(column2) FROM my_table GROUP BY column1 HAVING SUM(column2) > 100;

 

ORDER BY

결과를 정렬하기 위해 사용함.

정렬은 열의 값을 기준으로! ASC(오름차순)이나 DESC(내림차순).

(ASC가 디폴트)

SELECT column1, column2 FROM my_table ORDER BY column1 ASC;

 

LIMIT, OFFSET

결과 데이터의 집합을 제한하고 특정 위치부터 출력 가능.

페이징할 때 많이 씀!!

SELECT column1, column2 FROM my_table LIMIT 10 OFFSET 20;
728x90