sql >> Databasteknik >  >> RDS >> Mysql

MINUS-operator i MySQL?

En NOT IN() subquery kan användas här, eftersom MySQL inte stöder MINUS .

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

Det kan också göras med en LEFT JOIN , letar efter NULL i un_email kolumn:

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

För att utesluta dem från ett gäng UNION operationer, slå in UNION grupp i () som en underfråga:

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. Android SQLite-fel:variabelnummer måste vara mellan ?1 och ?999

  2. Hur man skapar en PostgreSQL-databas

  3. Skillnaden mellan primärnyckel och unik nyckel

  4. Hur skapar man en databas med flera hyresgäster med delade tabellstrukturer?