SQL의 작동순서
FROM → ON → JOIN → WHERE → GROUP BY → HAVING → SELECT → DISTINCT → ORDER BY
SQL 조건문 : CASE WHEN
SELECT CASE WHEN 조건식1 THEN 결과1
WHEN 조건식2 THEN 결과2
ELSE 결과3
END AS 새로운 컬럼이름
FROM 테이블명
조건문을 지원하는 연산자
연산의 우선순위를 위해, 각 조건에 괄호()를 작성하여 우선적으로 연산.
해당 조건들을 모두 만족해야 하므로, 각 조건들은 AND 연산자로 묶어주어야 해요.
연산자
|
연산의 예
|
의미
|
>, <
|
N<10, N>10
|
N이 10 미만, N이 10 초과
|
>=, <=
|
N<=10, N>=10
|
N이 10 이하, N이 10 이상
|
=
|
N=10
|
N이 10인 값
|
!=
|
N!=10
|
N이 10이 아닌 값
|
LIKE
|
LIKE('%과자%') 맛있는 과자 과자는 살찐다
|
문자열이 ~와 같을 때(문자열을 기준으로 앞,뒤 문자열과 상관없이 볼 때 %를 앞뒤에 작성해줍니다.)
|
AND
|
A AND B
|
A 그리고 B를 모두 만족하는 값
|
OR
|
A OR B
|
A 또는 B인 값
|
NOT, !
|
NOT A, !A
|
A가 아닌 값
|
BETWEEN
|
A BETWEEN 10 AND 20
|
A가 10과 20 사이에 포함된 값
|
IN
|
A IN B
|
B에 A가 포함된 값
|
NOT IN
|
A NOT IN B
|
B에 A가 포함되지 않은 값
|
IS NULL
|
A IS NULL
|
A 값이 비어있는 값
|
IS NOT NULL
|
A IS NOT NULL
|
A 값이 비어있지 않는 값
|
ORDER BY
- 오름차순은 ASC, 내림차순은 DESC
- 특정 열(Column)을 기준으로 결과값을 출력 할 때 사용
- 기본값은 ASC(Ascending, 오름차순)
select 조회할 컬럼
from 조회할 데이터테이블
order by 기준이 될 컬럼 desc;
주석
- SQL 문의 섹션을 설명하거나 SQL 문의 실행을 방지하는 데 사용
- Single Line Comments (-- 또는 #)
- Multi-line Comments (/**/)
HAVING과 WHERE의 차이
문
|
필터링 시점
|
WHERE
|
GROUP BY 전 데이터 필터링
|
HAVING
|
GROUP BY 후 결과값을 가지고 데이터 필터링
|
SUBQUERY
N 번의 쿼리문 실행을 1번의 쿼리문으로 실행하기 위해 사용
실행 순서: 서브쿼리 실행 -> 메인쿼리 실행
()안에 SELECT, FROM 반드시 명시
백틱(``)의 사용
데이터베이스, 테이블, 컬럼 이름 등 객체의 이름을 감쌀 때 사용
MySQL의 예약어이거나, 공백이나 특수문자를 포함하는 경우에는 사용
따옴표('',"")의 사용
따옴표는 문자, 날짜 및 시간을 나타낼 때 사용
숫자형에 컬럼에 따옴표를 사용할 경우 문자열로 해석되어 잘못된 비교나 계산이 발생할 수 있음
문제 1
select count(distinct game_actor_id),
avg(exp)
from users
group by serverno
문제2
select date,
count(distinct game_actor_id) game_actor
from users
group by date
having game_actor>10
문제3
select *
from
(select date, count(game_actor_id) cnt_actor
from users
group by date ) a
where cnt_actor>10
'내배캠_Data_3기 > TIL' 카테고리의 다른 글
240702_파이썬, PYTHON, 명령어 (0) | 2024.07.02 |
---|---|
240701_라이브세션 복습(2), SQL, UNION, JOIN, 파이썬 (0) | 2024.07.01 |
240628_SQL, JOIN, 문제, 명령어 (0) | 2024.06.28 |
240627_SQL, Subquery, JOIN, INNER JOIN,LEFT JOIN, RIGHT JOIN (0) | 2024.06.27 |
240626(2)_SQL, 강의, 실습, WHERE, DISTINCT, COUNT, AVG, (0) | 2024.06.26 |