Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm thế nào để kiểm tra nhiều cột cho một giá trị duy nhất trong MySQL?

Bạn có thể kiểm tra nhiều cột cho một giá trị với sự trợ giúp của toán tử IN. Cú pháp như sau -

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

Để hiểu khái niệm trên, chúng ta hãy tạo một bảng với một số cột. Truy vấn để tạo bảng như sau -

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

Chèn một số bản ghi trong bảng với sự trợ giúp của câu lệnh select. Truy vấn như sau -

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)

Hiển thị tất cả các bản ghi mà chúng tôi đã chèn ở trên. Truy vấn để hiển thị tất cả các bản ghi từ bảng như sau -

mysql> select *from OneValueFromAllColumns;

Sau đây là kết quả -

+-----------+------------------+-----------------+------------+
| 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)

Đây là truy vấn để kiểm tra nhiều cột cho giá trị đơn lẻ. Chúng tôi đang kiểm tra giá trị “Taylor” trong nhiều cột, tức là StudentId, StudentFirstname, StudentLastname và StudentAge.

Truy vấn như sau -

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

Sau đây là đầu ra hiển thị bản ghi với giá trị “Taylor” -

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