안녕하세요 성조입니다.
이번 포스팅은 개인 학습을 위해서 작성된 포스팅입니다.
본인의 주관이 담겨있는 포스팅이므로 100% 완벽한 자료라고 하기 어려운 부분이 있을 수 있습니다.
이번 포스팅은 존대가 아닌 정리용 언어로 작성됐습니다.
이번 포스팅은 MYSQL 8.0을 기준으로 학습된 내용에 대해서 정리하는 포스팅입니다.
대체적으로 공식 문서를 참조하였습니다.
목차
SELECT의 단어적 의미
Databse에서의 SELECT란?
SELECT의 구문 형태
SELECT ~ FROM 절
WHERE 절 사용법
ORDER BY 절 사용법
LIMIT 절 사용법
SELECT의 단어적 의미
먼저 사전적 의미 또는 번역 상의 내용을 구글과 네이버에서 한번 알아본다.
구글에서는 다음과 같이 번역됐다.
고르다 |
네이버의 영어사전은 다음과 같은 뜻을 같고 있었다.
위와 같이 무엇을 고르거나 선택하는 경우에 Select라는 단어가 쓰인다.
대부분의 프로그래밍에서는 명령어에 사용되는 영어 단어의 의미를 그대로 사용한다.
다시 본 포스팅의 주 목적인 Database에서의 사용법으로 돌아간다.
Database에서의 SELECT란?
Database에서는 SELECT라는 단어는 FROM과 하나로 묶여서 원하는 데이터를 갖고올 때 기본적으로 사용되며, 가장 많이 사용되는 문법이다.
학번 | 이름 | 주소 |
123456 | 김아무개 | 서울 |
789456 | 이아무개 | 부산 |
다음과 같은 테이블이 있을 때 테이블의 이름이 학생 정보이며, 조회하고 싶은 데이터는 이름일 때
대소문자 구분 없이 SELECT 이름 FROM 학생 정보;를 작성하면 학생 정보 테이블에 존재하는 이름 정보들을 모두 조회할 수 있다.
데이터가 커지는 경우 모든 데이터를 조회하면 문제가 발생할 수 있으므로 원하는 조건 또는 개수 만큼 데이터를 조회할 때도 사용된다. 삽입/삭제/갱신 등 모든 처리를 진행할 때 사용되며, Database에서 원하는 데이터를 갖고 올 때 가장 기본적으로 사용되는 이유이다.
SELECT의 구문 형태
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
SELECT
[ALL | DISTINCT | DISTINCTROW ]
[HIGH_PRIORITY]
[STRAIGHT_JOIN]
[SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
[SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
select_expr [, select_expr] ...
[into_option]
[FROM table_references
[PARTITION partition_list]]
[WHERE where_condition]
[GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
[HAVING where_condition]
[WINDOW window_name AS (window_spec)
[, window_name AS (window_spec)] ...]
[ORDER BY {col_name | expr | position}
[ASC | DESC], ... [WITH ROLLUP]]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
[into_option]
[FOR {UPDATE | SHARE}
[OF tbl_name [, tbl_name] ...]
[NOWAIT | SKIP LOCKED]
| LOCK IN SHARE MODE]
[into_option]
into_option: {
INTO OUTFILE 'file_name'
[CHARACTER SET charset_name]
export_options
| INTO DUMPFILE 'file_name'
| INTO var_name [, var_name] ...
}
|
cs |
위 내용은 MYSQL 8.0 공식 문서에서 발췌한 내용이다.
기본적인 설명을 진행하면 다음과 같다.
SELCET와 FROM 사이에 들어가 있는 값들은 무조건 SELCET와 FROM사이에 값이 존재해야 된다.
1
2
3
4
5
6
7
8
9
10
|
SELECT
[FROM table_references
[PARTITION partition_list]]
[ALL | DISTINCT | DISTINCTROW ]
[HIGH_PRIORITY]
[STRAIGHT_JOIN]
[SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
[SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
select_expr [, select_expr] ...
[into_option]
|
cs |
즉, 위와 같은 문장의 형태로 작성하면 문법에 대한 오류가 발생한다.
이번 포스팅에서는 SELCET, FROM, WHERE, ORDER BY, LIMIT에 대한 설명을 진행한다.
소개하고자 한 구문 정리의 내용을 정리하면 다음과 같다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
SELECT
[ALL | DISTINCT | DISTINCTROW ]
[HIGH_PRIORITY]
[STRAIGHT_JOIN]
[SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
[SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
select_expr [, select_expr] ...
[into_option]
[FROM table_references
[PARTITION partition_list]]
[WHERE where_condition]
[GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
[HAVING where_condition]
[WINDOW window_name AS (window_spec)
[, window_name AS (window_spec)] ...]
[ORDER BY {col_name | expr | position}
[ASC | DESC], ... [WITH ROLLUP]]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
|
cs |
SELECT ~ FROM 절
간단 소개는 Database에서 SELECT란?에서 이미 언급을 진행한 절이다.
WHERE 절 사용법
사용법을 언급하기 전에 간단한 소개를 진행하면 다음과 같다.
ORDER BY 절 사용법
사용법을 언급하기 전에 간단한 소개를 진행하면 다음과 같다.
LIMIT 절 사용법
사용법을 언급하기 전에 간단한 소개를 진행하면 다음과 같다.
포스팅을 진행하면서 SELECT에 관련된 내용이 생각보다 많아져서 존대를 기반으로한 설명 초점이 아닌 내용 요약에 초점을 잡은 글로 포스팅을 정리했습니다.
오타 또는 잘못된 지식 정보가 있다면 문의 댓글 부탁드리겠습니다!
포스팅을 읽어주셔서 감사합니다. 다음 포스팅 때 뵙겠습니다!
- 참조 -
https://dev.mysql.com/doc/refman/8.0/en/select.html
'Database > Mysql' 카테고리의 다른 글
MySQL 설치 방법 (입문용) (OS - Windows) (0) | 2021.11.24 |
---|