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

단일 쿼리로 MySQL 테이블의 다른 열에서 사용자 지정 순서로 값 선택

<시간/>

이를 위해 IN()을 사용할 수 있습니다.

먼저 테이블을 생성해 보겠습니다.

mysql> create table DemoTable727 (
   Name varchar(100),
   Score int
);
Query OK, 0 rows affected (0.88 sec)

삽입 명령을 사용하여 테이블에 일부 레코드 삽입:

mysql> insert into DemoTable727 values('Chris',45);
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable727 values('Robert',89);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable727 values('Carol',94);
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable727 values('David',93);
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable727 values('Mike',78);
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable727 values('Sam',67);
Query OK, 1 row affected (0.22 sec)

select 문을 사용하여 테이블의 모든 레코드 표시:

mysql> select *from DemoTable727;

그러면 다음과 같은 출력이 생성됩니다. -

+--------+-------+
| Name   | Score |
+--------+-------+
| Chris  | 45    |
| Robert | 89    |
| Carol  | 94    |
| David  | 93    |
| Mike   | 78    |
| Sam    | 67    |
+--------+-------+
6 rows in set (0.00 sec)

다음은 단일 쿼리로 MySQL 테이블의 다른 열에서 사용자 지정 순서로 값을 선택하는 쿼리입니다.

mysql> select Score from DemoTable727 where Name IN('Robert','David','Sam');

그러면 다음과 같은 출력이 생성됩니다. -

+-------+
| Score |
+-------+
| 89    |
| 93    |
| 67    |
+-------+
3 rows in set (0.00 sec)