Bùi Tấn Lực
- 25
- 23/09/2025
Toán tử NOT EXISTS trong MySQL dùng để lấy danh sách thuộc khóa chính ở bảng này nhưng không nằm trong bảng khác, chi tiết như nào hãy cùng chúng tôi phân tích:
Toán tử NOT EXISTS trong MySQL
Chức năng của Toán tử NOT EXISTS trong MySQL
Toán tử NOT EXISTS trong MySQL dùng để lấy danh sách thuộc khóa chính ở bảng này nhưng không nằm trong bảng khác hoặc có nằm trong bảng khác nhưng không thuộc điều kiện đưa ra.
Code Toán tử NOT EXISTS trong MySQL
Toán tử NOT EXISTS chưa có điều kiện trong MySQL
Ở ví dụ này mình kiểm tra những khách hàng chưa từng mua hàng:
<?php
$dbhost = 'localhost';
$dbuser = 'webmoi_userdata'; // Tên username
$dbpass = 'IhNRcn9n'; // Mật khẩu
// Kết nối đến tên username
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn ){
die('Không kết nối được: ' . mysql_error());
}
// Truy vấn bảng
$sql = "select ten,id from tb_khachhang where NOT EXISTS (select * from tb_donhang where tb_donhang.idkhachhang= tb_khachhang.id)";
// Chọn tên database
mysql_select_db('webmoi_tendata');
// Xét kiểu tiếng việt
mysql_query('SET NAMES "utf8"');
// Kết quả truy vấn trả về mảng
$ketqua = mysql_query($sql,$conn);
if(!$ketqua){
die('Không thể lấy dữ liệu: ' . mysql_error());
}
// Dùng vòng lặp để lấy ra từng hàng trong bảng
while($row = mysql_fetch_array($ketqua, MYSQL_ASSOC)){
echo "ID: {$row['id']} <br> ".
"Tên: {$row['ten']} <br> ".
"--------------------------------<br>";
}
// Đóng kết nối database
mysql_close($conn);
?>
Kết quả:
ID: 3
Tên: Trần Ngọc Thanh
--------------------------------
Toán tử NOT EXISTS có điều kiện trong MySQL
Ở ví dụ này mình kiểm tra những khách hàng chưa từng mua hàng hoặc có mua hàng nhưng không thuộc điều kiện đưa ra:
<?php
$dbhost = 'localhost';
$dbuser = 'webmoi_userdata'; // Tên username
$dbpass = 'IhNRcn9n'; // Mật khẩu
// Kết nối đến tên username
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn ){
die('Không kết nối được: ' . mysql_error());
}
// Truy vấn bảng
$sql = "select ten,id from tb_khachhang where NOT EXISTS (select * from tb_donhang where tb_donhang.idkhachhang= tb_khachhang.id and idkhachhang>1)";
// Chọn tên database
mysql_select_db('webmoi_tendata');
// Xét kiểu tiếng việt
mysql_query('SET NAMES "utf8"');
// Kết quả truy vấn trả về mảng
$ketqua = mysql_query($sql,$conn);
if(!$ketqua){
die('Không thể lấy dữ liệu: ' . mysql_error());
}
// Dùng vòng lặp để lấy ra từng hàng trong bảng
while($row = mysql_fetch_array($ketqua, MYSQL_ASSOC)){
echo "ID: {$row['id']} <br> ".
"Tên: {$row['ten']} <br> ".
"--------------------------------<br>";
}
// Đóng kết nối database
mysql_close($conn);
?>
Kết quả:
ID: 1
Tên: Bùi Đan Trúc Quỳnh
--------------------------------
ID: 3
Tên: Trần Ngọc Thanh
--------------------------------
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Toán tử NOT EXISTS trong MySQL.
Tải file database .sql về nếu muốn kiểm tra hoặc thực hành Tải về.
- 0 Bình luận

Bùi Tấn Lực
CEO Bùi Tấn Lực người sáng lập ra Web Mới, là một lập trình viên website, người viết content, chuyên tư vấn các vấn đề về website và SEO website
Chia sẻ nội dung đánh giá của bạn về Toán tử NOT EXISTS trong MySQL
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *
Bình luận, Hỏi đáp
Đăng ký tư vấn miễn phí
Tìm hiểu 1 năm không bằng lắng nghe 1 câu tư vấn