오늘 포스팅할 내용은 , 데이터베이스에서 일정 리소스양을 넘은 데이터들을 수집하는 sql문에 대해서
"SQL첫걸음" 이라는 책을 참고해서 쿼리를 수정해 봤습니다.
INSERT
insert
into
member
(id, age, ex1, ex2, ex3, ex4, ex5, ex6, meber_desc, name)
values
(default, 30, 'A','B','C','D','E','F',20,'Koo')
SELECT
- where 구 ( 리소스 중 사용율 30% 이상을 넘는 데이터만 수집)
- and / or 연산
- is null / is not null
- > , >=, = ,<>
- in 연산
- Group by ( 그룹화)
- 그룹을 이용한 다양한 집계함수 사용 가능
함수 이름 | 설명 |
COUNT | 레코드 수를 계산 |
SUM | 숫자를 더함 |
AVG | 평균 |
MAX / MIN | 최대, 최소 |
- Having 구
- 그룹핑을 하게되면, 해당 조건에 해당하는 중복되는 데이터들은 제일 앞에 값이 대표하게 된다.
- where 구가 '레코드'에 조건을 지정한다면, having 구는 '집합'에 조건을 지정하는 기능이라고 할수 있다.
- group by 로 그룹핑한 집합에서 다시 조건을 걸어 선택하는 기능
- Order by 구
- 레코드들은 도대체 어떤 순서대로 출력되는걸까? 답은 "엉터리"
- DBMS마다 다르지만, 결과 순서를 보장하려면 order by 구를 명시해줘야 한다.
- DESC 내림차순 (10,9,8,7,6) ASC 오름차순 (6,7,8,9,10)
- ex) Order by age DESC , phone_nbr ASC 나이는 많은순서대로 폰넘버는 작은순서대로
Delete
DELETE FROM MEMBER WHERE ID>10
'개발 > MySQL' 카테고리의 다른 글
[SQL] 정규화란? (0) | 2021.04.06 |
---|---|
[SQL] 인덱스란? (0) | 2021.03.31 |
[MYSQL] 테이블 생성시 기본키, 복합키, UNIQUE (0) | 2021.03.29 |
[Mysql] 서브쿼리 사용법과 한계 (0) | 2020.09.10 |
[MYSQL] 5분간격의 데이터를 id와 timetable로 구분짓기 (0) | 2020.09.08 |