16 May 2020

Mysql 쿼리 정리

Mysql 기본적인 쿼리


데이터 베이스에 대한 cs를 포스팅하기에 앞서서 기본적인 쿼리들을 정리해보자


select, insert, update, delete 의 가장 기본적인 쿼리


Select

select * from [테이블명]

select * from [테이블명] where 필드=조건

select * from [테이블명] where 필드=조건 order by 필드 desc/asc 

select * from [테이블명] group by 필드 order by 필드 

select * from [테이블명] group by 필드 having 그룹조건

select * from [테이블명] where 필드=조건 group by 필드 having 그룹조건 order by 필드 desc/asc

insert

insert into [테이블명] (필드1,필드2...) values(필드1,필드2...)

update

update [테이블명] set 필드1=필드1, 필드2=필드2...

Delete

delete from [테이블명]

delete from [테이블명] where 필드=조건


join

join은 아래 사진만 이해할 수 있으면 된다.


Join

대표적인 join(inner)

select * from A as a join B as b on a.id=b.id



where, order by, group by, having 의 실행 순서


- where 조건으로 먼저 필터링

- where 조건으로 필터링된 데이터를 group by로 그룹화

- group by로 그룹화된 데이터를 having 조건으로 필터링

- 최종적으로 나온 데이터를 order by로 정렬

- where -> group by -> having -> order by



all, in, any 정리 및 설명

1. IN

- 다수의 비교값과 비교하여 하나라도 같은게 있다면 true이다

- name = “사과” OR name = “바나나” OR name = “배”

select * from fruit where name in("사과","바나나","배");


2. any

- IN과는 달리 <, >, = 등의 부등호를 사용하여 비교가능

- 다른 언어에서도 if문에서 or조건을 여러개 걸었을때 맨앞에 써진 조건이 true면 뒤에 조건은 안보고 넘어가는 원리와 같다.

select * from fruit where sale > any(680,1200,800);
select * from fruit where sale < any(680,1200,800);
select * from fruit where sale = any(680,1200,800);


3. all

- 모든 조건이 만족해야 true이다

- 예시에서 sale가 1200이상이되야 모든 조건을 만족하므로 true다

select * from fruit where sale > all(680,1200,800);


Tags:
0 comments