실행 순서

  1. FROM 절 테이블의 모든 데이터를 획득
  2. WHERE 절 FROM 절에서 읽어 들인 데이터 중 조건에 일치하는 데이터 추출
  3. GROUP BY 절 WHERE 절에서 읽어 들인 데이터를 그룹화
  4. HAVING 절 GROUP BY 절에서 읽어 들인 데이터 중 조건에 일치하는 데이터만 추출
  5. SELECT 절 읽어 들인 데이터에서 출력할 열을 선택
  6. ORDER BY 절 레코드의 출력 순서 정렬
  7. LIMIT 절 출력할 레코드의 수 제한

예시

-- 입사일이 2000년 이후인 사원을 
-- 이름, 생일 오름차순으로 정렬해서 조회
SELECT *
FROM employees
WHERE
	hire_at >= '2000-01-01'
ORDER BY NAME ASC, birth ASC
;

image.png

-- 근무 중인 여자 사원을 이름, 생일 오름차순으로 정렬
SELECT *
FROM employees
WHERE
	gender = 'F'
AND fire_at IS null
ORDER BY NAME ASC, birth ASC
;

image.png

-- 재직 중인 성별 사원수를 조회해 주세요.
SELECT 
	gender
	,COUNT(gender) count_gender
FROM employees
WHERE
	fire_at IS NULL
GROUP BY gender
;

image.png

-- 현재 받고 있는 급여 중 사원의 연봉 상위 5명 조회
SELECT *
FROM salaries
WHERE 
	end_at IS NULL
ORDER BY salary DESC
LIMIT 5
;

image.png