Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Điều kiện tiêu cực trong Tham gia

Bạn có nhiều cách sử dụng left join with is null hoặc not exists

Select 
un.user_id 
from user_notifications un
left join user_push_notifications upn 
on upn. user_id = un.user_id  and un.notification_id  = 'xxxxyyyyyzzzz' 
where upn. user_id is null

Select 
un.user_id 
from user_notifications un
where 
un.notification_id  = 'xxxxyyyyyzzzz' 
and not exists
(
 select 1 from user_push_notifications upn 
 where 
 un.user_id = upn.user_id 
 and upn.notification_id = 'xxxxyyyyyzzzz'
)

Để tăng hiệu suất, bạn có thể cần thêm chỉ mục nếu nó chưa được thêm vào

alter table user_notifications add index user_notifi_idx(user_id,notification_id);
alter table user_push_notifications add index user_notifp_idx(user_id,notification_id);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách truy vấn sql với bản ghi hoạt động cho các ngày trong khoảng thời gian được chỉ định

  2. PHP MYSQL SET đưa ra lỗi trong vòng lặp while

  3. Câu lệnh Laravel 5.6 withCount and where

  4. dạng php:không thể cập nhật cơ sở dữ liệu, truy vấn với nhiều kết nối

  5. Lưu trữ Apache, MySQL và PHP với Docker