확인
;
(Semicolon)을 붙인다.명령어를 실행할 대상이 되는 Database
를 지정한다.
Data Table에서 필요한 columns list
를 선택한다.
Data Table을 지정한다.
USE
를 사용하지 않았으면 FROM <Database Name>.<table_name>
USE
를 사용했으면 FROM <table_name>
를 사용한다.
가져온 columns list
의 이름을 AS
이하로 변경한다. AS
를 생략해도 이름을 변경할 수 있다.
columns list
의 데이터 집합 내에서 중복된 값을 제거하고 가져온다.
선택한 data table에 적용할 조건식을 지정한다. 지정한 조건식에 해당하는 값 중 columns list
에 따라 선택된 값을 반환한다.
WHERE
<select_list> <search_condition>,
<select_list> BETWEEN <begin_expr> AND <end_expr>,
(expr|column_1) IN ('value1','value2',...),
value IS NULL,
expression LIKE pattern ESCAPE escape_character
<select_list> BETWEEN <begin_expr> AND <end_expr>
<select_list> NOT BETWEEN <begin_expr> AND <end_expr>
, 이 때 begin과 end를 포함하는 것에 주의하자. 또한 조건식을 적용할 대상을 반드시 지정해야 한다.
<select_list> BETWEEN <A> AND <B>
는 BETWEEN <A> <= <select_list> AND <select_list> <= <B>
와 같다.
관계 연산자(, )를 사용한다.
(expr|column_1) IN ('value1','value2',...)
(expr|column_1) NOT IN ('value1','value2',...)
column list
에서 value
에 해당하는 값을 or 연산을 하여 반환한다. 즉 value
에 해당하는 모든 값을 가져온다.
NOT IN
을 사용하면, value
에 해당하지 않는 모든 값을 가져온다.
value IS NULL
value IS NOT NULL
Null
이 아닌 값을 반환한다.
데이터를 수집하다 보면 자연스럽게 결측치(수집하지 못한 값)이 생기기 마련이다. 이러한 결측치를 MySQL에서는 Null
로 표현하는데, 이는0
과 다르다. Null
은 값이 존재하지 않는 것을 의미하고, 0
은 0개를 의미한다.
expression LIKE pattern ESCAPE escape_character
expression
에서 pattern
과 일치하는 값을 반환한다. 단 대소문자를 구분하지 않는다.
~ LIKE "aa"
: aa인 값을 반환한다.~ LIKE "%aa"
: wildcard %
(Percent)는 불특정 문자 여러개를 의미한다. 따라서 %aa
는 aa로 끝나는 값을 반환한다.~ LIKE "aa%"
: aa로 시작하는 값을 반환한다.~ LIKE "%aa%"
: aa가 포함된 값을 반환한다.~ LIKE "__aa"
: wildcard _
(Underscore)는 불특정 문자 1개를 의미한다. 따라서 __aa
는 총 4글자로 된 값 중 aa
로 끝나는 값을 반환한다. (aaaa
, xzaa
...) GROUP BY c1 , c2,...,cn
columns 값을 GROUPING해서 각 값들의 평균, 개수 등을 구한다. 따라서 SELECT
영역에 집계함수를 일반 column list혼합하여 사용할 때는 GROUP BY를 사용해야 한다.
*
(Asterisk)는 ALL을 의미한다. SELECT *
을 하면 Data Table
의 모든 값을 가져온다.
USE
<Database Name>;
SELECT
<select_list_1> AS <new column name>,
DISTINCT <select_list_2>,
<select_list_3>...
FROM
<table_name>
WHERE
<select_list> <search_condition>,
(expr|column_1) IN ('value1','value2',...);