Hướng dẫn any mysql

Tìm hiểu lệnh ANY, ALL trong MySQL

1] Chức năng & cách sử dụng

- Trong hệ quản trị cơ sở dữ liệu MySQL, lệnh ANY & ALL thường được sử dụng kết hợp với các cột & các toán tử để xây dựng nên một cái biểu thức, biểu thức này thường gồm có bốn thành phần chính: tên cột, toán tử so sánh, từ khóa ANY hoặc ALL, một câu lệnh SELECT để trả về một cột dữ liệu.

column

operator

ANY hoặc ALL

[câu lệnh SELECT]

1

2

3

4

✅ Đối với lệnh ANY thì biểu thức column operator ANY [câu lệnh SELECT] sẽ trả về giá trị TRUE nếu cột column có thể kết hợp với ít nhất một giá trị bên trong cột dữ liệu [được trả về từ câu lệnh SELECT] làm cho biểu thức column operator value thỏa điều kiện.

✅ Đối với lệnh ALL thì biểu thức column operator ALL [câu lệnh SELECT] sẽ trả về giá trị TRUE nếu tất cả các lần kết hợp giữa cột column & các giá trị bên trong cột dữ liệu [được trả về từ câu lệnh SELECT] đều làm cho biểu thức column operator value thỏa điều kiện.

- Lưu ý: Operator là các toán tử so sánh, ví dụ như: = > >= ALL [SELECT Age FROM Student WHERE City = "Cần Thơ"];

- Sau khi thực thi câu lệnh phía trên thì tôi sẽ lấy được một bảng dữ liệu như bên dưới:

ID Name Gender Age City
3 Trần Thanh Trúc Nữ 27 Hải Phòng

GIẢI THÍCH VÍ DỤ 1

ID Name Gender Age City
1 Nguyễn Thành Nhân Nam 22 Cần Thơ
2 Dương Văn Gánh Nam 19 Sóc Trăng
3 Trần Thanh Trúc Nữ 27 Hải Phòng
4 Châu Tinh Trì Nam 25 Cần Thơ
5 Lê Thị Huỳnh Như Nữ 24 Bạc Liêu
6 Tì Sa Môn Thiên Nam 21 Hậu Giang
7 Doãn Chí Bình Nam 26 Cần Thơ
8 Phạm Thị Thu Hiền Nữ 18 Vĩnh Long
SELECT *
FROM Student
WHERE Age > ANY [SELECT Age FROM Student WHERE City = "Cần Thơ"];

- Trước tiên chúng ta hãy xem sơ qua tuổi của các sinh viên sống tại Cần Thơ thông qua câu lệnh SELECT Age FROM Student WHERE City = "Cần Thơ";

- Trong cái bảng Student:

  • Trần Thanh Trúc 27 tuổi, lớn hơn tất cả các sinh viên sống tại Cần Thơ thỏa điều kiện.
  • Châu Tinh Trì 25 tuổi, lớn hơn Nguyễn Thành Nhân [22 tuổi] sống tại Cần Thơ thỏa điều kiện.
  • Lê Thị Huỳnh Như 24 tuổi, lớn hơn Nguyễn Thành Nhân [22 tuổi] sống tại Cần Thơ thỏa điều kiện.
  • Doãn Chí Bình 26 tuổi, lớn hơn Nguyễn Thành Nhân [22 tuổi] & Châu Tinh Trì [25 tuổi] sống tại Cần Thơ thỏa điều kiện.
  • Những sinh viên còn lại thì không có ai lớn hơn bất kỳ một sinh viên nào sống tại Cần Thơ KHÔNG thỏa điều kiện.
ID Name Gender Age City
3 Trần Thanh Trúc Nữ 27 Hải Phòng
4 Châu Tinh Trì Nam 25 Cần Thơ
5 Lê Thị Huỳnh Như Nữ 24 Bạc Liêu
7 Doãn Chí Bình Nam 26 Cần Thơ

GIẢI THÍCH VÍ DỤ 2

ID Name Gender Age City
1 Nguyễn Thành Nhân Nam 22 Cần Thơ
2 Dương Văn Gánh Nam 19 Sóc Trăng
3 Trần Thanh Trúc Nữ 27 Hải Phòng
4 Châu Tinh Trì Nam 25 Cần Thơ
5 Lê Thị Huỳnh Như Nữ 24 Bạc Liêu
6 Tì Sa Môn Thiên Nam 21 Hậu Giang
7 Doãn Chí Bình Nam 26 Cần Thơ
8 Phạm Thị Thu Hiền Nữ 18 Vĩnh Long
SELECT *
FROM Student
WHERE Age > ALL [SELECT Age FROM Student WHERE City = "Cần Thơ"];

- Trước tiên chúng ta hãy xem sơ qua tuổi của các sinh viên sống tại Cần Thơ thông qua câu lệnh SELECT Age FROM Student WHERE City = "Cần Thơ";

- Trong cái bảng Student chỉ có mỗi Trần Thanh Trúc 27 tuổi là lớn hơn tất cả các sinh viên sống tại Cần Thơ.

ID Name Gender Age City
3 Trần Thanh Trúc Nữ 27 Hải Phòng

Chủ Đề