<SELECT문의 기본문법>
SELECT [ALL | DISTINCT] 속성이름
FROM 테이블 이름
[WHERE 검색조건]
[GROUP BY 속성이름]
[HAVING 검색조건]
[ORDER BY 속성이름 [ASC | DESC] ]
--> 위의 순서대로 검색을 위한 데이터 조작어 질의문을 작성해야 한다.
집합 연산자
- IN : WHERE절 안에서 사용, 집합의 원소인지 판단할 수 있음
- NOT IN : WEHRE절 안에서 사용, 집합의 원소가 아닌지 판단할 수 있음
패턴 연산자 LIKE
: 속성의 이름과 비교해서 같은 투플만 선택가능 / '%축구%' %기호를 이용해 해당 단어가 포함된 속성 꺼내기 가능
ORDER BY
: 내림차순 또는 오름차순으로 정리하기 때문에 하나의 속성만 와야할 것 같지만, 여러개의 속성을 입력한다면 속성의 순서대로 기본 오름차순 정렬을 하고, 동등한 값이 있을 때 다음 속성을 이용해 정렬을 한다.
만약, 각각의 속성에서 오름, 내림차순을 변경하고 싶다면 ASC(오름차순), DESC(내림차순) 정렬을 이용한다.
GROUP BY (★)
: 공부하면서 가장 헷갈렸던 명령어이다ㅠ
일단 group by 연산자를 사용하기 위해서는, 집계함수를 사용해야한다.
집계함수에는 AVG, MIN, MAX, COUNT의 다섯가지가 존재한다.
SELECT문의 속성선택을 할떄 집계함수를 같이 활용해 준다 --> SUM(saleprice) 이런식? 실제로 SQL문을 실행하고 나면, SUM(saleprice)라고 표시되는게 보기 안좋기 때문에 AS를 사용해서 새로운 속성이름을 만들어주는 것이 좋다.
집계함수를 이용할 때, GROUP BY를 이용하면, 내가 원하는 속서의 값들끼리만 묶어서 표현할 수 있다 ex) 고객별로 주문한 도서의 총 수량과 총 판매액은?
조인
: FROM 테이블1, 테이블2 형태를 통해서 두 테이블의 카티전 프로덕트 연산을 할 수 있다
'데이터베이스' 카테고리의 다른 글
| [DB] (MySQL) 관계대수 연산자 (0) | 2022.04.17 |
|---|