Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wybierz * z tabeli 1, która nie istnieje w tabeli 2 z warunkowym

Używanie LEFT JOIN/IS NULL:

   SELECT t.*
     FROM TABLE_LIST t
LEFT JOIN TABLE_LOG tl ON tl.jid = t.jid
    WHERE tl.jid IS NULL

Korzystanie NIE W:

SELECT t.*
  FROM TABLE_LIST t
 WHERE t.jid NOT IN (SELECT tl.jid
                       FROM TABLE_LOG tl
                   GROUP BY tl.jid)

Używając NIE ISTNIEJE:

SELECT t.*
  FROM TABLE_LIST t
 WHERE NOT EXISTS(SELECT NULL
                    FROM TABLE_LOG tl
                   WHERE tl.jid = t.jid)

FYI
LEFT JOIN/IS NULL i NOT IN są równoważne w MySQL - wykonają to samo, podczas gdy NOT EXISTS jest wolniejsze/mniej wydajne. Więcej informacji:http://explainextended.com/2009/09/18/not-in-vs-not-exists-vs-left-join-is-null-mysql/



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd podczas ustawiania wartości właściwości; zagnieżdżony wyjątek to org.springframework.beans.NotWritablePropertyException:

  2. Jak mogę filtrować znaki Emoji z moich danych wejściowych, aby móc zapisać w MySQL <5.5?

  3. Mysql Left Join Wynik zerowy

  4. Jak mogę cofnąć ostatnią komendę usuwania w MySQL?

  5. Składnia SQL CREATE TABLE – wymieniona przez DBMS