union¶
개요¶
이 명령어는 다른 데이터 모델과 union 을 할 때 사용됩니다.
설명¶
현재 데이터모델에 다른 데이터모델을 union 하는 명령어 입니다.
Examples¶
- unionA 데이터 모델
AAA | BBB |
---|---|
1 | 2 |
3 | 4 |
5 | 6 |
- unionB 데이터 모델
AAA | BBB |
---|---|
1 | 2 |
5 | 4 |
3 | 6 |
- 현재 데이터모델(
unionA
)과 다른 데이터모델(unionB
)을 조인하는 예제입니다. - union all 명령 예시
... | union all unionB
AAA | BBB |
---|---|
1 | 2 |
3 | 4 |
5 | 6 |
1 | 2 |
5 | 4 |
3 | 6 |
- union 명령 예시
... | union unionB
AAA | BBB |
---|---|
1 | 2 |
3 | 4 |
5 | 6 |
5 | 4 |
3 | 6 |
- union … order by … ASC 명령 예시
... | union unionB order by AAA (ASC)
AAA | BBB |
---|---|
1 | 2 |
3 | 4 |
3 | 6 |
5 | 6 |
5 | 4 |
- union … order by … DESC 명령 예시
... | union unionB order by AAA DESC
AAA | BBB |
---|---|
5 | 6 |
5 | 4 |
3 | 4 |
3 | 6 |
1 | 2 |
Parameters¶
... | union (ALL)? MODEL_NAME (ORDER BY field(, field)* (ASC | DESC)? )?
이름 | 설명 | 필수/옵션 |
---|---|---|
ALL | union all 명령은 unionA , unionB 데이터를 그대로 합치는 명령어 입니다. union 명령은 중복된 값을 제거하는 명령어입니다. |
옵션 |
MODEL_NAME | union을 할 데이터모델의 이름을 의미합니다. 모델명에 공백이 포함되는 경우 ``’ ‘`` (Single quote)로 감싸줘야 합니다. | 필수 |
(ORDER BY field(, field)* (ASC / DESC)? )? | union 을 한 뒤, 데이터를 sort 하는 명령어 입니다. 지정한 field 를 기준으로 데이터를 정렬하고, ASC , DESC 를 지정 할 수 있습니다. 지정 하지 않으면 default = ASC 입니다. |
옵션 |
Parameters BNF¶
clauses : model_name
| model_name ORDER BY term
| model_name ORDER BY term is_asc
| model_name ORDER BY list_term
| model_name ORDER BY list_term is_asc
| ALL model_name
| ALL model_name ORDER BY term
| ALL model_name ORDER BY term is_asc
| ALL model_name ORDER BY list_term
| ALL model_name ORDER BY list_term is_asc
is_asc : ASC
| DESC
model_name : term
| sq_term_sq
list_term : term COMMA term
| list_term COMMA term
sq_term_sq : SQ term SQ
| SQ multiple_term SQ
multiple_term : term term
| multiple_term term
term : STR_TOKEN
| NUMBER
t_SQ = r"\'"
t_COMMA = r","
t_NUMBER = r"\d+(\.\d+)?"
t_STR_TOKEN = r"([^\s=\',])+"