[SQL] SELECT 구문

Suzume·2023년 11월 15일
0

DataBase

목록 보기
8/16
post-thumbnail

🎆 SELECT문이란?

DB에서 데이터를 검색하는 역할
실무에서 가장 많이 쓰임

🎆 SELECT절의 처리 순서

  1. FROM and JOIN : 조회 테이블 확인 및 테이블 조인(병합)
  2. WHERE : 데이터 추출 조건 확인
  3. GROUP BY : 특정 컬럼 그룹화
  4. HAVING : 그룹화 이후 데이터 추출 조건
  5. SELECT : 데이터 추출
  6. DISTINCT : 중복 제거
  7. ORDER BY : 데이터 순서 정렬

🎃 SELECT ... FOR UPDATE

특정 행을 선택하고 해당 행에 대한 업데이트 수행 전 행을 잠금
여러 트랜잭션에서 동시에 같은 행에 대한 업데이트를 시도하는 경우 충돌을 방지

-- employees 테이블에서 employee_id가 101인 행을 선택하고 잠금을 설정
SELECT *
FROM employees
WHERE employee_id = 101
FOR UPDATE;

🎃 FROM: 테이블 선택

SELECT * 
FROM MEMBER;

🎃 WHERE: 테이블 필터링

SELECT * 
FROM MEMBER 
WHERE gender = 'man'

🎃 GROUP BY: 테이블 그룹화

  • GROUP BY는 집계함수(COUNT, SUM, AVG 등)과 많이 쓰임
  • GROUP BY + 특정 컬럼으로 특정 컬럼 기준으로 데이터 그룹화
-- employees 테이블을 department 열을 기준으로 그룹화하고 평균 연봉을 계산
SELECT department, AVG(salary)  AS avg_salary
FROM employees
GROUPB BY department;

🎃 ORDER BY: 테이블 정렬

-- employees 테이블에서 이름과 연봉을 salary 기준으로 내림차순 정렬
SELECT employee_name, salary
FROM employees
ORDER BY salary DESC;

🎏 GROUP BY, ORDER BY 같이 쓸 수 있다는데요?

-- GROUP BY로 그룹화 먼저, 이 후 ORDER BY로 정렬
SELECT department, AVG(salary) AS avg_salary
FROM employees
GROUP BY department
ORDER BY avg_salary DESC;
profile
미네르바의 부엉이는 황혼이 저물어야 그 날개를 편다.

0개의 댓글