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

Triển khai WHERE IN so với OR trong MySQL với ví dụ tương tự

IN sử dụng chỉ mục trong khi OR không sử dụng chỉ mục trong MySQL.

Đầu tiên chúng ta hãy tạo một bảng -

mysql> create table DemoTable711 (
   Id int,
   Name varchar(100)
);
Query OK, 0 rows affected (0.92 sec)

Chèn một số bản ghi vào bảng bằng lệnh chèn -

mysql> insert into DemoTable711 values(100,'Chris');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable711 values(101,'Robert');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable711 values(102,'Carol');
Query OK, 1 row affected (0.35 sec)
mysql> insert into DemoTable711 values(103,'Mike');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable711 values(104,'Sam');
Query OK, 1 row affected (0.15 sec)

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

mysql> select *from DemoTable711;

Điều này sẽ tạo ra kết quả sau -

+------+--------+
| Id   | Name   |
+------+--------+
| 100  | Chris  |
| 101  | Robert |
| 102  | Carol  |
| 103  | Mike   |
| 104  | Sam    |
+------+--------+
5 rows in set (0.00 sec)

Sau đây là truy vấn cho phương thức IN () -

mysql> select *from DemoTable711 where Id IN(101,103,104);

Điều này sẽ tạo ra kết quả sau -

+------+--------+
| Id   | Name   |
+------+--------+
| 101  | Robert |
| 103  | Mike   |
| 104  | Sam    |
+------+--------+
3 rows in set (0.03 sec)

Sau đây là truy vấn cho OR -

mysql> select *from DemoTable711 where Id=101 OR Id=103 OR Id=104;

Điều này sẽ tạo ra kết quả sau -

+------+--------+
| Id   | Name   |
+------+--------+
| 101  | Robert |
| 103  | Mike   |
| 104  | Sam    |
+------+--------+
3 rows in set (0.00 sec)