Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL에서 Union 및 order by 절을 사용하는 방법은 무엇입니까?

<시간/>

Union은 MySQL의 연산자 유형입니다. 이것과 함께 ORDER BY를 사용하여 레코드를 필터링할 수 있습니다. 여러 테이블에서 차례로 행을 선택하거나 단일 테이블에서 여러 행 집합을 단일 결과 집합으로 선택하려면 UNION을 사용하십시오.

예를 들어 보겠습니다.

첫 번째 테이블 생성

mysql> create table UnionDemo1
   -> (
   -> id int
   -> );
Query OK, 0 rows affected (0.59 sec)

첫 번째 테이블에 레코드 삽입.

mysql> insert into UnionDemo1 values(1),(4),(10);
Query OK, 3 rows affected (0.21 sec)
Records: 3  Duplicates: 0  Warnings: 0

모든 기록을 표시합니다.

mysql> select *from UnionDemo1;

다음은 모든 레코드를 표시하는 출력입니다.

+------+
| id   |
+------+
|    1 |
|    4 |
|   10 |
+------+
3 rows in set (0.00 sec)

두 번째 테이블을 만들어 보겠습니다.

mysql> create table UnionDemo2
   -> (
   -> id int
   -> );
Query OK, 0 rows affected (0.54 sec)

두 번째 테이블에 레코드 삽입.

mysql> insert into UnionDemo2 values(2),(3),(5),(6),(7),(8),(9);
Query OK, 7 rows affected (0.21 sec)
Records: 7  Duplicates: 0  Warnings: 0

모든 기록을 표시합니다.

mysql> select *from UnionDemo2;

다음은 출력입니다.

+------+
| id   |
+------+
|    2 |
|    3 |
|    5 |
|    6 |
|    7 |
|    8 |
|    9 |
+------+
7 rows in set (0.00 sec)

이제 Order by와 함께 UNION을 적용하는 쿼리를 살펴보겠습니다.

mysql> select id from UnionDemo1
   -> union
   -> select id from UnionDemo2
   -> order by id desc;

다음은 출력입니다.

+------+
| id   |
+------+
|   10 |
|    9 |
|    8 |
|    7 |
|    6 |
|    5 |
|    4 |
|    3 |
|    2 |
|    1 |
+------+
10 rows in set (0.05 sec)