sql >> Databáze >  >> RDS >> Mysql

Operátor MINUS v MySQL?

A NOT IN() zde lze použít poddotaz, protože MySQL nepodporuje MINUS .

SELECT 
  cand_email
FROM tbl_cand_data 
WHERE can_email NOT IN (SELECT un_email FROM tbl_unsubscribe)

Lze to také provést pomocí LEFT JOIN , hledající hodnoty NULL v un_email sloupec:

SELECT cand_email 
FROM
   tbl_cand_data
   LEFT JOIN tbl_unsubscribe ON tbl_cand_data.can_email = tbl_unsubscribe.un_email
WHERE tbl_unsubscribe.un_email IS NULL

Chcete-li je vyloučit ze skupiny UNION operace, zabalte UNION skupina v () jako dílčí dotaz:

SELECT email FROM (
  SELECT cand_email AS email FROM tbl_cand_data
  UNION
  SELECT emp_email AS email FROM tbl_emp_data
  UNION
  SELECT email FROM AS email tbl_uptade_list
  UNION
  SELECT feed_email AS email FROM tbl_feedback
  UNION
  SELECT admin_email AS email FROM tbl_admin_emails
) email_list
WHERE email NOT IN (SELECT un_email FROM tbl_unsubscribe)


  1. Kolaborativní filtrování v MySQL?

  2. Jak mohu vložit 10 milionů záznamů v co nejkratším čase?

  3. Ukončete MySQL bez restartování na El Capitan

  4. Vnitřní části sedmi druhů SQL Server – část 2