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

MySQL에서 단일 값에 대해 여러 열을 확인하는 방법은 무엇입니까?

<시간/>

IN 연산자를 사용하여 하나의 값에 대해 여러 열을 확인할 수 있습니다. 구문은 다음과 같습니다 -

select *from yourTableName where value IN(yourColumnName1, yourColumnName2,......N);

위의 개념을 이해하기 위해 몇 개의 열이 있는 테이블을 만들어 보겠습니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -

mysql> create table OneValueFromAllColumns
   −> (
   −> StudentId int,
   −> StudentFirstname varchar(200),
   −> StudentLastname varchar(200),
   −> StudentAge int
   −> );
Query OK, 0 rows affected (1.41 sec)

select 문을 사용하여 테이블에 일부 레코드를 삽입하십시오. 쿼리는 다음과 같습니다 -

mysql> insert into OneValueFromAllColumns values(1,'John','Smith',23);
Query OK, 1 row affected (0.14 sec)

mysql> insert into OneValueFromAllColumns values(2,'Carol','Taylor',22);
Query OK, 1 row affected (0.18 sec)

mysql> insert into OneValueFromAllColumns values(3,'Maria','Garcia',19);
Query OK, 1 row affected (0.16 sec)

mysql> insert into OneValueFromAllColumns values(4,'Bob','Wilson',21);
Query OK, 1 row affected (0.22 sec)

위에 삽입한 모든 레코드를 표시합니다. 테이블의 모든 레코드를 표시하는 쿼리는 다음과 같습니다. -

mysql> select *from OneValueFromAllColumns;

다음은 출력입니다 -

+-----------+------------------+-----------------+------------+
| StudentId | StudentFirstname | StudentLastname | StudentAge |
+-----------+------------------+-----------------+------------+
|          1 | John            | Smith           |         23 |
|          2 | Carol           | Taylor          |         22 |
|          3 | Maria           | Garcia          |         19 |
|          4 | Bob             | Wilson          |         21 |
+-----------+------------------+-----------------+------------+
4 rows in set (0.00 sec)

다음은 단일 값에 대해 여러 열을 확인하는 쿼리입니다. 여러 열(예:StudentId, StudentFirstname, StudentLastname 및 StudentAge)에서 "Taylor" 값을 확인하고 있습니다.

쿼리는 다음과 같습니다 -

mysql> select *from OneValueFromAllColumns where 'Taylor' IN(StudentId,StudentFirstname,StudentLastname,StudentAge);

다음은 값이 "Taylor"인 레코드를 표시하는 출력입니다. -

+-----------+------------------+-----------------+------------+
| StudentId | StudentFirstname | StudentLastname | StudentAge |
+-----------+------------------+-----------------+------------+
|         2 | Carol            | Taylor          | 22         |
+-----------+------------------+-----------------+------------+
1 row in set, 4 warnings (0.03 sec)