Inhaltsverzeichnis
SQL-Tabellenverbindung
Heim Datenbank SQL Lassen Sie uns über SQL-Tabellenverbindungen sprechen

Lassen Sie uns über SQL-Tabellenverbindungen sprechen

Jun 15, 2022 am 11:55 AM
sql

Dieser Artikel vermittelt Ihnen relevantes Wissen über SQL, in dem hauptsächlich die relevanten Inhalte zu Tabellenverbindungen vorgestellt werden. SQL Server unterstützt eine Vielzahl von Verbindungen, einschließlich Inner Joins, Left Joins, Right Joins, Cross Joins und Full Joins Ich hoffe, dass es für alle hilfreich ist.

Lassen Sie uns über SQL-Tabellenverbindungen sprechen

Empfohlenes Lernen: „SQL-Tutorial

SQL-Tabellenverbindung

In einer relationalen Datenbank werden Daten in mehreren logischen Tabellen verteilt. Um einen vollständigen und aussagekräftigen Datensatz zu erhalten, müssen Sie Joins verwenden, um die Daten in diesen Tabellen abzufragen. SQL Server unterstützt eine Vielzahl von Verbindungen, darunter Inner Joins, Left Joins, Right Joins, Cross Joins und Full Outer Joins.

1. Innerer Join

Die innere Join-Klausel wird verwendet, um Daten aus zwei oder mehr verwandten Tabellen abzufragen. Die Syntax der INNER JOIN-Klausel:

SELECT p.product_name, p.list_price ,c.category_nameFROM production.products p 
INNER JOIN production.categories c ON c.category_id = p.category_id
Nach dem Login kopieren

Hinweis: Vor dem abzufragenden Feld muss der Tabellenname oder Tabellenalias stehen, z. B.: p.product_name
Wobei das folgende FROM die Haupttabelle ist, und dann der INNER JOIN gefolgt wird. Die Tabelle ist die zu verknüpfende Tabelle. Die Haupttabelle und die Join-Tabelle werden verglichen, um alle Zeilen zu finden, die die Bedingungen erfüllen. Wenn das Berechnungsergebnis des Verbindungsprädikats wahr ist, werden die Haupttabelle und die Verbindungstabelle zu einem neuen Ergebnissatz zusammengeführt, wie in der folgenden Abbildung dargestellt:

Lassen Sie uns über SQL-Tabellenverbindungen sprechen

Mehrere Tabellenverbindungen innerhalb der Verbindung, wie unten dargestellt:

SELECT p.product_name, p.list_price ,c.category_name, b.brand_nameFROM production.products p 
INNER JOIN production.categories c ON c.category_id = p.category_id 
INNER JOIN production.brands b ON b.brand_id = p.brand_id
Nach dem Login kopieren

2. Left Join

Verwenden Sie die LEFT JOIN-Klausel im linken Join, um Daten aus mehreren Tabellen abzufragen. Sie gibt alle Zeilen in der linken Tabelle und übereinstimmende Zeilen in der rechten Tabelle zurück. Wenn in der rechten Tabelle keine passende Zeile gefunden wird, verwenden Sie stattdessen NULL für die Anzeige, wie in der Abbildung gezeigt:

Lassen Sie uns über SQL-Tabellenverbindungen sprechen

Verwenden Sie die LEFT JOIN-Anweisung zum Verbinden: wie unten gezeigt:

SELECT p.product_name, p.list_price ,c.category_nameFROM production.products p 
LEFT JOIN production.categories c ON c.category_id = p.category_id
Nach dem Login kopieren

In der obigen Syntax die Tabelle nach FROM ist die linke Tabelle (Produktion.Produkte), und auf den LEFT JOIN folgt die rechte Tabelle (Produktion.Kategorien).

3. Right Join

Verwenden Sie die RIGHT JOIN-Klausel im Right Join, um zwei oder mehr Tabellen abzufragen. Die rechte Abfrage ist genau das Gegenteil der linken Abfrage. Sie gibt alle Zeilen der rechten Tabelle und die passenden Zeilen der linken Tabelle zurück. Wenn in der linken Tabelle keine passende Zeile gefunden wird, wird wie gezeigt NULL zurückgegeben in der Abbildung:

Lassen Sie uns über SQL-Tabellenverbindungen sprechen

Verwenden Sie die RIGHT JOIN-Anweisung, um Folgendes zu verbinden:

SELECT p.product_name, p.list_price ,c.category_nameFROM production.products p 
RIGHT JOIN production.categories c ON c.category_id = p.category_id
Nach dem Login kopieren

In der obigen Syntax ist die Tabelle nach FROM die linke Tabelle (Produktion.Produkte) und die rechte Tabelle (Produktion.Kategorien). unmittelbar gefolgt von RIGHT JOIN.

4. Cross Join

CROSS JOIN verbindet zwei oder mehr nicht zusammenhängende Tabellen. Das Folgende ist die Syntax von CROSS JOIN zwischen zwei Tabellen, zwei Schreibweisen:

SELECT T1.select_list 
FROM T1 CROSS JOIN T2;
Nach dem Login kopieren

oder

SELECT T1.select_list 
FROM T1, T2;
Nach dem Login kopieren

CROSS JOIN verbindet jede Zeile in der ersten Tabelle (T1) mit jeder Zeile in der zweiten Tabelle (T2). Mit anderen Worten: Ein Cross-Join gibt das kartesische Produkt der Zeilen in den beiden Tabellen zurück. Im Gegensatz zu INNER JOIN oder LEFT JOIN stellt ein Cross-Join keine Beziehung zwischen den verbundenen Tabellen her.
Angenommen, die T1-Tabelle enthält drei Zeilen: 1, 2 und 3, und die T2-Tabelle enthält drei Zeilen: A, B und C. CROSS JOIN entnimmt eine Zeile aus der ersten Tabelle (T1) und erstellt für jede Zeile in der zweiten Tabelle (T2) eine neue Zeile. Dann wird dasselbe für die nächste Zeile in der ersten Tabelle (T1) durchgeführt und so weiter. In dieser Abbildung erstellt der CROSS JOIN insgesamt 9 Zeilen.

5. Self-Join

Self-Join wird verwendet, um eine Tabelle mit sich selbst (der gleichen Tabelle) zu verbinden. Es ist nützlich, um hierarchische Daten abzufragen oder Zeilen in derselben Tabelle zu vergleichen.
Self-Join verwendet die Inner-Join- oder Left-Join-Klausel. Da Abfragen, die Self-Joins verwenden, auf dieselbe Tabelle verweisen, werden Tabellenaliase verwendet, um den Tabellen in der Abfrage unterschiedliche Namen zuzuweisen.
Hinweis: Wenn Sie in einer Abfrage mehrmals auf dieselbe Tabelle verweisen, ohne Tabellenaliase zu verwenden, tritt ein Fehler auf.
Beispiel:

SELECT t1.select_list 
FROM T1 t1INNER JOIN T1 t2 ON t1.category_id = t2.category_id
Nach dem Login kopieren

Sie können hier in INNER JOIN andere Klauseln verwenden, wie zum Beispiel: LEFT JOIN, RIGHT JOIN

6. Vollständiger äußerer Join

FULL OUTER JOIN, wenn links oder rechts ein passendes Element vorhanden ist right table , der Befehl gibt alle Zeilen zurück. Wie in der Abbildung gezeigt:

Lassen Sie uns über SQL-Tabellenverbindungen sprechen

Verwenden Sie FULL OUTER JOIN, um die Daten in der pm.projects-Tabelle und der pm.member-Tabelle abzufragen:

SELECT m.name member, p.title project 
FROM pm.members m 
FULL OUTER JOIN pm.projects p ON p.id = m.project_id;
Nach dem Login kopieren

pm.projects-Tabellendaten:
Lassen Sie uns über SQL-Tabellenverbindungen sprechen

pm.member-Tabellendaten:

Lassen Sie uns über SQL-Tabellenverbindungen sprechen

Abfrageergebnisse:
Lassen Sie uns über SQL-Tabellenverbindungen sprechen

Empfohlenes Lernen: „SQL-Tutorial

Das obige ist der detaillierte Inhalt vonLassen Sie uns über SQL-Tabellenverbindungen sprechen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was ist der Unterschied zwischen HQL und SQL im Hibernate-Framework? Was ist der Unterschied zwischen HQL und SQL im Hibernate-Framework? Apr 17, 2024 pm 02:57 PM

HQL und SQL werden im Hibernate-Framework verglichen: HQL (1. Objektorientierte Syntax, 2. Datenbankunabhängige Abfragen, 3. Typsicherheit), während SQL die Datenbank direkt betreibt (1. Datenbankunabhängige Standards, 2. Komplexe ausführbare Datei). Abfragen und Datenmanipulation).

Verwendung der Divisionsoperation in Oracle SQL Verwendung der Divisionsoperation in Oracle SQL Mar 10, 2024 pm 03:06 PM

„Verwendung der Divisionsoperation in OracleSQL“ In OracleSQL ist die Divisionsoperation eine der häufigsten mathematischen Operationen. Während der Datenabfrage und -verarbeitung können uns Divisionsoperationen dabei helfen, das Verhältnis zwischen Feldern zu berechnen oder die logische Beziehung zwischen bestimmten Werten abzuleiten. In diesem Artikel wird die Verwendung der Divisionsoperation in OracleSQL vorgestellt und spezifische Codebeispiele bereitgestellt. 1. Zwei Arten von Divisionsoperationen in OracleSQL In OracleSQL können Divisionsoperationen auf zwei verschiedene Arten durchgeführt werden.

Vergleich und Unterschiede der SQL-Syntax zwischen Oracle und DB2 Vergleich und Unterschiede der SQL-Syntax zwischen Oracle und DB2 Mar 11, 2024 pm 12:09 PM

Oracle und DB2 sind zwei häufig verwendete relationale Datenbankverwaltungssysteme, die jeweils über ihre eigene, einzigartige SQL-Syntax und -Eigenschaften verfügen. In diesem Artikel werden die SQL-Syntax von Oracle und DB2 verglichen und unterschieden und spezifische Codebeispiele bereitgestellt. Datenbankverbindung Verwenden Sie in Oracle die folgende Anweisung, um eine Verbindung zur Datenbank herzustellen: CONNECTusername/password@database. In DB2 lautet die Anweisung zum Herstellen einer Verbindung zur Datenbank wie folgt: CONNECTTOdataba

Ausführliche Erläuterung der Funktion „Tag festlegen' in den dynamischen SQL-Tags von MyBatis Ausführliche Erläuterung der Funktion „Tag festlegen' in den dynamischen SQL-Tags von MyBatis Feb 26, 2024 pm 07:48 PM

Interpretation der dynamischen SQL-Tags von MyBatis: Detaillierte Erläuterung der Verwendung von Set-Tags. MyBatis ist ein hervorragendes Persistenzschicht-Framework. Es bietet eine Fülle dynamischer SQL-Tags und kann Datenbankoperationsanweisungen flexibel erstellen. Unter anderem wird das Set-Tag zum Generieren der SET-Klausel in der UPDATE-Anweisung verwendet, die sehr häufig bei Aktualisierungsvorgängen verwendet wird. In diesem Artikel wird die Verwendung des Set-Tags in MyBatis ausführlich erläutert und seine Funktionalität anhand spezifischer Codebeispiele demonstriert. Was ist Set-Tag? Set-Tag wird in MyBati verwendet

Was bedeutet das Identitätsattribut in SQL? Was bedeutet das Identitätsattribut in SQL? Feb 19, 2024 am 11:24 AM

Was ist Identität in SQL? In SQL ist Identität ein spezieller Datentyp, der zum Generieren automatisch inkrementierender Zahlen verwendet wird. Er wird häufig verwendet, um jede Datenzeile in einer Tabelle eindeutig zu identifizieren. Die Spalte „Identität“ wird oft in Verbindung mit der Primärschlüsselspalte verwendet, um sicherzustellen, dass jeder Datensatz eine eindeutige Kennung hat. In diesem Artikel wird die Verwendung von Identity detailliert beschrieben und es werden einige praktische Codebeispiele aufgeführt. Die grundlegende Möglichkeit, Identity zu verwenden, besteht darin, Identit beim Erstellen einer Tabelle zu verwenden.

So implementieren Sie Springboot+Mybatis-plus, ohne SQL-Anweisungen zum Hinzufügen mehrerer Tabellen zu verwenden So implementieren Sie Springboot+Mybatis-plus, ohne SQL-Anweisungen zum Hinzufügen mehrerer Tabellen zu verwenden Jun 02, 2023 am 11:07 AM

Wenn Springboot + Mybatis-plus keine SQL-Anweisungen zum Hinzufügen mehrerer Tabellen verwendet, werden die Probleme, auf die ich gestoßen bin, durch die Simulation des Denkens in der Testumgebung zerlegt: Erstellen Sie ein BrandDTO-Objekt mit Parametern, um die Übergabe von Parametern an den Hintergrund zu simulieren dass es äußerst schwierig ist, Multi-Table-Operationen in Mybatis-plus durchzuführen. Wenn Sie keine Tools wie Mybatis-plus-join verwenden, können Sie nur die entsprechende Mapper.xml-Datei konfigurieren und die stinkende und lange ResultMap konfigurieren Schreiben Sie die entsprechende SQL-Anweisung. Obwohl diese Methode umständlich erscheint, ist sie äußerst flexibel und ermöglicht es uns

So beheben Sie den 5120-Fehler in SQL So beheben Sie den 5120-Fehler in SQL Mar 06, 2024 pm 04:33 PM

Lösung: 1. Überprüfen Sie, ob der angemeldete Benutzer über ausreichende Berechtigungen zum Zugriff auf oder zum Betrieb der Datenbank verfügt, und stellen Sie sicher, dass der Benutzer über die richtigen Berechtigungen verfügt. 2. Überprüfen Sie, ob das Konto des SQL Server-Dienstes über die Berechtigung zum Zugriff auf die angegebene Datei verfügt Ordner und stellen Sie sicher, dass das Konto über ausreichende Berechtigungen zum Lesen und Schreiben der Datei oder des Ordners verfügt. 3. Überprüfen Sie, ob die angegebene Datenbankdatei von anderen Prozessen geöffnet oder gesperrt wurde. Versuchen Sie, die Datei zu schließen oder freizugeben, und führen Sie die Abfrage erneut aus . Versuchen Sie es als Administrator. Führen Sie Management Studio aus als usw.

Wie verwende ich SQL-Anweisungen zur Datenaggregation und Statistik in MySQL? Wie verwende ich SQL-Anweisungen zur Datenaggregation und Statistik in MySQL? Dec 17, 2023 am 08:41 AM

Wie verwende ich SQL-Anweisungen zur Datenaggregation und Statistik in MySQL? Datenaggregation und Statistiken sind sehr wichtige Schritte bei der Durchführung von Datenanalysen und Statistiken. Als leistungsstarkes relationales Datenbankverwaltungssystem bietet MySQL eine Fülle von Aggregations- und Statistikfunktionen, mit denen Datenaggregation und statistische Operationen problemlos durchgeführt werden können. In diesem Artikel wird die Methode zur Verwendung von SQL-Anweisungen zur Durchführung von Datenaggregation und Statistiken in MySQL vorgestellt und spezifische Codebeispiele bereitgestellt. 1. Verwenden Sie zum Zählen die COUNT-Funktion. Die COUNT-Funktion wird am häufigsten verwendet

See all articles