Heim >Datenbank >MySQL-Tutorial >Wie identifiziere ich Anrufe von nicht gelisteten Telefonnummern in einer verknüpften Datenbank?

Wie identifiziere ich Anrufe von nicht gelisteten Telefonnummern in einer verknüpften Datenbank?

Barbara Streisand
Barbara StreisandOriginal
2025-01-22 18:27:08392Durchsuche

How to Identify Calls from Unlisted Phone Numbers in a Linked Database?

Anrufdatensätze von unbekannten Nummern finden

Unsere Datenbank enthält zwei Tabellen: „Phone_book“ (mit Namen und Telefonnummern) und „Call“ (mit Anrufprotokollen). Das Ziel besteht darin, Anrufe zu lokalisieren, die von Nummern ausgehen, die nicht in der Tabelle „Telefonbuch“ aufgeführt sind.

Lösungen:

Mehrere SQL-Abfragen können dies erreichen; Die Effizienz hängt von der Datenbankoptimierung und den Tabellengrößen ab.

Methode 1 (NICHT IN):

Diese einfache Abfrage ist effizient für kleinere „Phone_book“-Tabellen:

SELECT *
FROM Call
WHERE phone_number NOT IN (SELECT phone_number FROM Phone_book);

Methode 2 (NICHT EXISTIERT):

Ein alternativer Ansatz, der häufig für die Leistung bei größeren Datensätzen bevorzugt wird:

SELECT *
FROM Call
WHERE NOT EXISTS (
    SELECT 1
    FROM Phone_book
    WHERE Phone_book.phone_number = Call.phone_number
);

Methode 3 (LEFT OUTER JOIN):

Eine dritte Option mit einem LEFT OUTER JOIN:

SELECT *
FROM Call
LEFT OUTER JOIN Phone_book
ON Call.phone_number = Phone_book.phone_number
WHERE Phone_book.phone_number IS NULL;

Wichtiger Hinweis: Für eine optimale Leistung ersetzen Sie SELECT * durch eine Liste spezifischer Spalten, die aus der Tabelle „Aufruf“ benötigt werden. Dies reduziert den Datenabruf und verbessert die Abfragegeschwindigkeit.

Das obige ist der detaillierte Inhalt vonWie identifiziere ich Anrufe von nicht gelisteten Telefonnummern in einer verknüpften Datenbank?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn