select는 SQL을 사용할 때 제일 중요한 명령어다.
테이블을 생성하고 데이터를 삽입한다고 해도 불러올 수 없다면 의미가 없다.
select [컬럼명] [as] ["][별칭]["][,]
from [테이블명]
where [조건]
group by [컬럼명]
having [조건]
order by [컬럼명|컬럼인덱스 [asc]|[desc]];
select문은 총 6개의 절로 구성되어있다.
먼저 처리 순서는 아래와 같다.
from -> where -> group by -> having -> order by -> select
필수적인 요소로는 select * from dual 과 같이 select, from은 꼭 사용을 해야 한다.
그 뒤로 where, group by, having, order by를 사용하여 조건, 정렬 등을 사용할 수 있다.
- select
- 칼럼명 부분에 *를 사용하면 모든 칼럼을 불러온다
- 단일 칼럼부터 테이블 안의 모든 칼럼, 다른 테이블의 칼럼까지도 가져올 수 있다.
- as뒤에 별칭으로는 칼럼 명의 길이가 너무 긴 경우에 별칭으로 짧게 보여줄 수 있다.
- 큰따옴표를 사용하지 않아도 되지만 공백, 특수문자가 들어가는 경우 반드시 사용해야 한다
- 숫자를 별칭으로 사용할 수 있지만 숫자로 시작할 수는 없다.
- from
- 테이블 명 혹은 뷰만 올 수 있으며 서브 쿼리가 사용될 경우 서브 쿼리의 결괏값이 무조건 테이블 혹은 뷰가 돼야 한다
- 테이블명 뒤에 별칭을 줄 수 있다.
- where
- 일반적으로 조건을 줄 때 사용되며 예를 들어 어떤 테이블의 모든 값을 불러오는데 age가 20 이상인 데이터만 불러와라 라고 할 때 밑줄 친 부분이 where절의 조건이 된다.
- group by
- having
- where절과 같이 조건을 줄 때 사용되는 건 같지만 조건 안에 그룹 함수가 있다면 having절에 사용해주는 게 맞다
- order by
- 정렬을 해주는 절이다
- 칼럼명 혹은 컬럼 인덱스를 넣어줄 수 있는데 칼럼이 id, name, age 이렇게 있다면 id를 넣어주면 id값을 기준으로 잡을 수 있고 2를 넣어주면 입력한 칼럼 중 두 번째인 name을 기준으로 잡아서 정렬을 한다
- 뒤에 asc, desc은 오름차순, 내림차순 정렬을 의미하며 입력하지 않을 시에는 asc이 기본값으로 잡힌다.