Identifizieren nicht übereinstimmender Anrufdatensätze
Diese Anleitung zeigt, wie Sie Anrufdatensätze in einer „Anruf“-Tabelle finden, denen entsprechende Einträge in einer „Telefonbuch“-Tabelle fehlen. Ziel ist es, Anrufe von Nummern zu identifizieren, die nicht im Telefonbuch aufgeführt sind. Wir werden verschiedene SQL-Ansätze untersuchen, um dies zu erreichen.
Methode 1: Verwendung von NOT IN
Diese Methode verwendet die NOT IN
-Klausel, um in der Tabelle „Phone_book“ vorhandene Telefonnummern herauszufiltern.
<code class="language-sql">SELECT * FROM Call WHERE phone_number NOT IN (SELECT phone_number FROM Phone_book);</code>
Diese Abfrage wählt alle Spalten aus der Tabelle „Anruf“ aus, in denen das phone_number
nicht in der Liste der phone_number
s aus der Tabelle „Telefonbuch“ gefunden wird.
Methode 2: Einsatz von NOT EXISTS
Dieser Ansatz verwendet eine Unterabfrage mit NOT EXISTS
, um zu prüfen, ob keine übereinstimmenden Telefonnummern vorhanden sind.
<code class="language-sql">SELECT * FROM Call WHERE NOT EXISTS (SELECT 1 FROM Phone_book WHERE Phone_book.phone_number = Call.phone_number);</code>
Die Unterabfrage sucht nach einer Übereinstimmung. Wenn keine Übereinstimmung gefunden wird (NOT EXISTS
), schließt die äußere Abfrage den Datensatz ein.
Methode 3: Nutzung LEFT OUTER JOIN
Diese Methode verwendet ein LEFT OUTER JOIN
, um beide Tabellen zu kombinieren und dann nach Nullwerten in der Tabelle „Phone_book“ zu filtern.
<code class="language-sql">SELECT * FROM Call LEFT OUTER JOIN Phone_Book ON Call.phone_number = Phone_book.phone_number WHERE Phone_book.phone_number IS NULL;</code>
A LEFT OUTER JOIN
gibt alle Zeilen aus der „Call“-Tabelle zurück. Wenn es keine Übereinstimmung in „Phone_book“ gibt, lauten die entsprechenden Spalten in „Phone_book“ NULL
. Die WHERE
-Klausel filtert, um nur diese nicht übereinstimmenden Zeilen anzuzeigen. Dieser Ansatz wird aufgrund seiner Leistungsvorteile häufig bevorzugt, insbesondere bei größeren Datensätzen.
Das obige ist der detaillierte Inhalt vonWie finde ich Anrufe ohne entsprechende Telefonbucheinträge?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!