


SQL-Joins: Was sind die Leistungs- und Syntaxunterschiede zwischen USING, ON und WHERE?
SQL JOIN-Methoden: Leistungs- und Syntaxunterschiede von USING, ON und WHERE
SQL bietet mehrere Optionen zum Verknüpfen von Tabellen: USING, ON und WHERE. Obwohl die Funktionalität dieser Optionen ähnlich ist, kann es zu Missverständnissen hinsichtlich ihrer Leistung und syntaktischen Bedeutung kommen. In diesem Artikel werden die Unterschiede zwischen diesen Verbindungsmethoden untersucht.
Leistung
Entgegen der landläufigen Meinung gibt es keine signifikanten Leistungsunterschiede zwischen den drei Verbindungsmethoden. Alle drei Methoden erzeugen denselben optimierten Abfrageplan.
Syntax und Semantik
ANSI-Syntax:
- JOIN (eingeführt in ANSI-92) ist die empfohlene Syntax für die Durchführung von Verknüpfungen. Es verwendet die ON-Klausel, um die Join-Bedingungen explizit zu definieren.
- WHERE (ANSI-89) ermöglicht die Verwendung einer WHERE-Klausel zur Angabe von Join-Bedingungen, wurde jedoch aufgrund möglicher Lesbarkeits- und Mehrdeutigkeitsprobleme veraltet.
USING-Syntax:
- USING (eingeführt in SQL:2003) ist eine Kurzsyntax, die das Schlüsselwort USING verwendet, um gemeinsame Spalten zwischen verbundenen Tabellen anzugeben. Es bietet eine prägnante und intuitive Syntax.
Mehrdeutigkeit von „dem Wo beitreten“ (implizites INNER JOIN)
Die Verwendung einer WHERE-Klausel zur Angabe von Join-Bedingungen kann zu Mehrdeutigkeiten führen, insbesondere bei Outer-Join-Typen. Das Problem ergibt sich aus der logischen Abfrageverarbeitungsreihenfolge in SQL Server, bei der FROM vor WHERE ausgewertet wird. „Join the where“ kann versehentlich ein kartesisches Produkt erstellen oder zu unerwarteten Ergebnissen führen.
Grammatische Mehrdeutigkeit:
Die folgenden beiden Abfragen veranschaulichen die Syntaxmehrdeutigkeiten, die auftreten können, wenn implizite innere Verknüpfungen in der WHERE-Klausel mit expliziten äußeren Verknüpfungen in der FROM-Klausel gemischt werden:
1 2 3 4 5 6 7 |
|
Die Mehrdeutigkeit entsteht durch die Unfähigkeit, klar zu bestimmen, welche Verbindungen äußerlich und welche innerlich sind.
Empfehlung:
Aus Gründen der Klarheit, Konsistenz und Kompatibilität mit modernen SQL-Standards wird Folgendes empfohlen:
- Verwenden Sie für alle Joins explizite Joins (JOIN-Syntax mit ON-Klausel).
- Vermeiden Sie die Verwendung von „join the where“ (impliziter INNER JOIN in der WHERE-Klausel).
- Verwenden Sie ANSI-92-Syntax (JOIN mit ON-Klausel) für plattformübergreifende Kompatibilität.
Das obige ist der detaillierte Inhalt vonSQL-Joins: Was sind die Leistungs- und Syntaxunterschiede zwischen USING, ON und WHERE?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

In diesem Artikel wird die Optimierung von MySQL -Speicherverbrauch in Docker untersucht. Es werden Überwachungstechniken (Docker -Statistiken, Leistungsschema, externe Tools) und Konfigurationsstrategien erörtert. Dazu gehören Docker -Speichergrenzen, Tausch und CGroups neben

Dieser Artikel befasst sich mit MySQLs Fehler "Die freigegebene Bibliotheksfehler". Das Problem ergibt sich aus der Unfähigkeit von MySQL, die erforderlichen gemeinsam genutzten Bibliotheken (.SO/.dll -Dateien) zu finden. Lösungen beinhalten die Überprüfung der Bibliotheksinstallation über das Paket des Systems m

In dem Artikel werden mithilfe der Änderungstabelle von MySQL Tabellen, einschließlich Hinzufügen/Löschen von Spalten, Umbenennung von Tabellen/Spalten und Ändern der Spaltendatentypen, erläutert.

Dieser Artikel vergleicht die Installation von MySQL unter Linux direkt mit Podman -Containern mit/ohne phpmyadmin. Es beschreibt Installationsschritte für jede Methode und betont die Vorteile von Podman in Isolation, Portabilität und Reproduzierbarkeit, aber auch

Dieser Artikel bietet einen umfassenden Überblick über SQLite, eine in sich geschlossene, serverlose relationale Datenbank. Es beschreibt die Vorteile von SQLite (Einfachheit, Portabilität, Benutzerfreundlichkeit) und Nachteile (Parallelitätsbeschränkungen, Skalierbarkeitsprobleme). C

In diesem Handbuch wird die Installation und Verwaltung mehrerer MySQL -Versionen auf macOS mithilfe von Homebrew nachgewiesen. Es betont die Verwendung von Homebrew, um Installationen zu isolieren und Konflikte zu vermeiden. Der Artikel Details Installation, Starten/Stoppen von Diensten und Best PRA

In Artikel werden die Konfiguration der SSL/TLS -Verschlüsselung für MySQL, einschließlich der Erzeugung und Überprüfung von Zertifikaten, erläutert. Das Hauptproblem ist die Verwendung der Sicherheitsauswirkungen von selbstsignierten Zertifikaten. [Charakterzahl: 159]

In Artikel werden beliebte MySQL -GUI -Tools wie MySQL Workbench und PhpMyAdmin beschrieben, die ihre Funktionen und ihre Eignung für Anfänger und fortgeschrittene Benutzer vergleichen. [159 Charaktere]
