Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie rufe ich mehrere Spalten aus einer MySQL-Unterabfrage ab: Virtuelle Tabellen vs. JOIN-Syntax?

Patricia Arquette
Freigeben: 2024-10-27 09:52:03
Original
479 Leute haben es durchsucht

How to Retrieve Multiple Columns from a MySQL Subquery: Virtual Tables vs JOIN Syntax?

Auswählen mehrerer Spalten aus einer MySQL-Unterabfrage

In MySQL kann es schwierig sein, mehrere Spalten aus derselben Tabelle mithilfe einer Unterabfrage abzurufen. Um dieses Problem anzugehen, erkunden wir verschiedene Ansätze:

Verwenden einer virtuellen Tabelle

Anstatt mehrere Unterabfragen zu erstellen, können Sie mithilfe einer Unterabfrage eine virtuelle Tabelle erstellen. Die Syntax für diesen Ansatz lautet:

SELECT *
FROM (SELECT col1, col2, ... FROM original_table) AS virtual_table
Nach dem Login kopieren

Durch die Verwendung dieser virtuellen Tabelle in einem Join können Sie mehrere Spalten aus der angegebenen Tabelle in einer einzigen Abfrage abrufen.

Codebeispiel :

SELECT a.attr, b.id, b.trans, b.lang
FROM attribute a
JOIN (
  SELECT id, translation AS trans, language AS lang, attribute
  FROM attributeTranslation
) AS b ON (a.id = b.attribute AND b.lang = 1)
Nach dem Login kopieren

Verwendung der JOIN-Syntax

Eine andere Möglichkeit besteht darin, die JOIN-Syntax zu verwenden, um mehrere Tabellen zu kombinieren, einschließlich der Originaltabelle und der virtuellen Tabelle. Mit diesem Ansatz können Sie mehrere Spalten aus den verbundenen Tabellen abrufen.

Codebeispiel:

SELECT a.attr, b.id, b.trans, b.lang
FROM attribute a
JOIN attributeTranslation b ON (a.id = b.attribute AND b.lang = 1)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie rufe ich mehrere Spalten aus einer MySQL-Unterabfrage ab: Virtuelle Tabellen vs. JOIN-Syntax?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!