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

Việc sử dụng các toán tử ‘ALL’, ‘ANY’, ’SOME’, ’IN’ với truy vấn con MySQL là gì?


‘TẤT CẢ’, ‘ANY’, ’SOME’, ’IN’ toán tử so sánh giá trị với mọi giá trị được trả về bởi truy vấn con. Tất cả các toán tử này phải tuân theo một toán tử so sánh. Cú pháp của việc sử dụng các toán tử này với truy vấn con MySQL như sau -

Cú pháp sử dụng 'ALL'

Operand comparison_operator ALL (subquery)

Cú pháp sử dụng 'ANY'

Operand comparison_operator ANY (subquery)

Cú pháp sử dụng 'SOME'

Operand comparison_operator SOME (subquery)

Cú pháp sử dụng ‘IN’

Operand comparison_operator IN (subquery)

Ví dụ

Chúng tôi đang sử dụng dữ liệu từ các bảng sau để minh họa việc sử dụng ‘TẤT CẢ’, ‘BẤT KỲ’, ‘SOME’, ‘IN’ toán tử với một truy vấn con.

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ử 'TẤT CẢ' 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 customer_id from Customers WHERE customer_id <> ALL(Select customer_id from reservations);
+-------------+
| customer_id |
+-------------+
|           4 |
+-------------+
1 row in set (0.00 sec)

Truy vấn bên dưới sử dụng toán tử "ANY" 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 customer_id from customers WHERE customer_id = ANY(Select customer_id from reservations);
+-------------+
| customer_id |
+-------------+
|           1 |
|           2 |
|           3 |
+-------------+
3 rows in set (0.00 sec)

Truy vấn bên dưới sử dụng toán tử 'SOME' 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 customer_id from customers WHERE customer_id = Some(Select customer_id from reservations);
+-------------+
| customer_id |
+-------------+
|           1 |
|           2 |
|           3 |
+-------------+
3 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 customer_id from customers WHERE customer_id IN (Select customer_id from reservations);
+-------------+
| customer_id |
+-------------+
|           1 |
|           2 |
|           3 |
+-------------+
3 rows in set (0.00 sec)