Heim > Datenbank > MySQL-Tutorial > Zweimal am selben Tisch sitzen: Wann und wie ist das die beste Vorgehensweise?

Zweimal am selben Tisch sitzen: Wann und wie ist das die beste Vorgehensweise?

Mary-Kate Olsen
Freigeben: 2025-01-07 07:27:42
Original
224 Leute haben es durchsucht

Joining the Same Table Twice: When and How is it Best Practice?

Zweimal am selben Tisch verbinden: Best Practices

Problem:

Wie wird beim Verbinden zweier Tabellen mit übereinstimmenden Spalten vorgegangen? Können Sie Daten für beide Spalten gleichzeitig effizient abrufen?

Methode 1: Verbinden Zweimal

Wie im obigen Beispiel zu sehen ist, ermöglicht das zweimalige Verknüpfen derselben Tabelle einen separaten Datenabruf basierend auf jeder übereinstimmenden Spalte:

SELECT t.PhoneNumber1, t.PhoneNumber2, 
       t1.SomeOtherFieldForPhone1, t2.someOtherFieldForPhone2
FROM Table1 t
JOIN Table2 t1 ON t1.PhoneNumber = t.PhoneNumber1
JOIN Table2 t2 ON t2.PhoneNumber = t.PhoneNumber2
Nach dem Login kopieren

Methode 2: ODER in ON-Klausel

Ein alternativer Ansatz, der zwar nicht als funktionsfähig erwiesen ist, würde versuchen, mehrere übereinstimmende Spalten mithilfe eines OR im ON zu verknüpfen Klausel:

SELECT ...
FROM Table1
INNER JOIN Table2 
   ON Table1.PhoneNumber1 = Table2.PhoneNumber OR
      Table1.PhoneNumber2 = Table2.PhoneNumber
Nach dem Login kopieren

Best Practice:

Methode 1 wird als beste Lösung empfohlen. Sie bietet eine unkomplizierte und eindeutige Möglichkeit zum Abrufen Daten, die mehreren übereinstimmenden Spalten entsprechen, ohne auf komplexe ODER-Klauseln angewiesen zu sein.

Alternativen zur Verbesserung Design:

Während beide Methoden das gewünschte Ergebnis erzielen können, ist es wichtig, die Best Practices für das Datenbankdesign zu berücksichtigen, um zu vermeiden, dass man sich auf Verknüpfungen zwischen Tabellen verlässt, die auf natürlichen Schlüsseln wie Telefonnummern basieren. Natürliche Schlüssel können sich häufig ändern, was zu potenziellen Problemen mit der Datenintegrität führen kann.

Das obige ist der detaillierte Inhalt vonZweimal am selben Tisch sitzen: Wann und wie ist das die beste Vorgehensweise?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage