Công ty thiết kế website chuẩn SEO Web Mới
Tìm kiếm
Công ty thiết kế website chuẩn SEO Web Mới

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, 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

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
CEO Bùi Tấn Lực
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
  • Zalo
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 *
Đánh giá của bạn
Tên *
Email
Số điện thoại *
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
Kiến thức PHP
Kiến thức JavaScript
Kiến thức về website
Kiến thức SEO website
0398.259.259