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

Vyloučit záznamy, pokud se pravá tabulka shoduje

Můžete použít NOT EXISTS

SELECT a.id, a.name
FROM A
WHERE NOT EXISTS
(
    SELECT 1 FROM B
    WHERE b.A = a.id AND b.cond = 'X'
)

Vždy však zapomínám, že MySql je jediný (?) rdbms, který má problémy s optimalizací EXISTS /NOT EXISTS . Je tedy o něco efektivnější použít LEFT JOIN přístup.

http://explainextended.com/2009/09/18/not-in-vs-not-exists-vs-left-join-is-null-mysql/

V MS SQL-Serveru je lepší použít NOT EXISTS .

http://sqlperformance.com/2012/12 /t-sql-queries/left-anti-semi-join



  1. kam mám umístit instalační prostředky (soubor wxs, dmg-script, ikona) a jak nakonfigurovat maven antrun při nasazení samostatné aplikace

  2. Chyba při pokusu o instalaci aplikace s klenotem mysql2

  3. Parametrizované dotazy C# pro Oracle - závažná a nebezpečná chyba!

  4. Linuxový shell skript pro zálohování databáze