Giới thiệu mệnh đề EXISTS
Để kiểm tra xem một bản ghi cụ thể có tồn tại trong bảng hay không, ta sử dụng mệnh đề EXISTS. Mệnh đề này trả về TRUE nếu truy vấn con trả về một hoặc nhiều bản ghi.
Cú pháp
SELECT * FROM ten_bang WHERE EXISTS(truy_van_con)
Nếu truy vấn con trả về ít nhất một hàng, EXISTS sẽ trả về true.
Các bước thực hiện
- Import
mysql.connector - Thiết lập kết nối bằng
connect() - Tạo đối tượng con trỏ qua
cursor() - Viết truy vấn SQL với EXISTS
- Thực thi truy vấn bằng
execute() - Đóng kết nối
Ví dụ minh họa
Giả sử bảng Sales:
+------------+---------+ | sale_price | tax | +------------+---------+ | 1000 | 200 | | 500 | 100 | | 50 | 50 | | 180 | 180 | +------------+---------+
import mysql.connector
db = mysql.connector.connect(
host="your_host",
user="your_username",
password="your_password",
database="database_name"
)
cursor = db.cursor()
query = "SELECT sale_price FROM Sales WHERE EXISTS(SELECT * FROM Sales WHERE tax > 150)"
cursor.execute(query)
rows = cursor.fetchall()
for row in rows:
print(row)
db.close()
Truy vấn con trả về TRUE vì có bản ghi với tax > 150. Do đó EXISTS trả về true. Nếu không có bản ghi nào thỏa mãn, EXISTS sẽ trả về false.
Kết quả
1000 500 700