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

Làm cách nào chúng ta có thể lọc dữ liệu với sự trợ giúp của truy vấn con MySQL?


Với sự trợ giúp của từ khóa IN, chúng ta có thể sử dụng một truy vấn con để lọc dữ liệu. Đó là bởi vì chúng ta có thể sử dụng kết quả của một truy vấn giống như chúng ta sử dụng danh sách các giá trị với toán tử IN để lọc một truy vấn dựa trên kết quả của một truy vấn khác. Truy vấn phụ xuất hiện trong dấu ngoặc đơn sau từ khóa IN.

Ví dụ

Chúng tôi đang sử dụng dữ liệu từ các bảng sau để minh họa ví dụ này -

mysql> Select * from Customers;
+-------------+----------+
| Customer_Id | Name     |
+-------------+----------+
|           1 | Rahul    |
|           2 | Yashpal  |
|           3 | Gaurav   |
|           4 | Virender |
+-------------+----------+
4 rows in set (0.00 sec)

mysql> Select * from Reservations;
+------+-------------+------------+
| ID   | Customer_id | Day        |
+------+-------------+------------+
|    1 |           1 | 2017-12-30 |
|    2 |           2 | 2017-12-28 |
|    3 |           2 | 2017-12-29 |
|    4 |           1 | 2017-12-25 |
|    5 |           3 | 2017-12-26 |
+------+-------------+------------+
5 rows in set (0.00 sec)

Truy vấn bên dưới sử dụng toán tử ‘IN’ với một truy vấn con và trả về kết quả sau khi so sánh tất cả các giá trị được trả về bởi truy vấn con.

mysql> SELECT * from customers WHERE customer_id IN (Select customer_id from reservations);
+-------------+----------+
| Customer_Id | Name     |
+-------------+----------+
|           1 | Rahul    |
|           2 | Yashpal  |
|           3 | Gaurav   |
+-------------+----------+
3 rows in set (0.00 sec)