Maison > base de données > tutoriel mysql > le corps du texte

Comment récupérer plusieurs colonnes d'une sous-requête MySQL : tables virtuelles vs syntaxe JOIN ?

Patricia Arquette
Libérer: 2024-10-27 09:52:03
original
479 Les gens l'ont consulté

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

Sélection de plusieurs colonnes à partir d'une sous-requête MySQL

Dans MySQL, il peut être difficile de récupérer plusieurs colonnes de la même table à l'aide d'une sous-requête. Pour résoudre ce problème, explorons différentes approches :

Utiliser une table virtuelle

Au lieu de créer plusieurs sous-requêtes, vous pouvez créer une table virtuelle à l'aide d'une sous-requête. La syntaxe de cette approche est :

SELECT *
FROM (SELECT col1, col2, ... FROM original_table) AS virtual_table
Copier après la connexion

En utilisant cette table virtuelle dans une jointure, vous pouvez récupérer plusieurs colonnes de la table spécifiée en une seule requête.

Exemple de code :

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)
Copier après la connexion

Utilisation de la syntaxe JOIN

Une autre option consiste à utiliser la syntaxe JOIN pour combiner plusieurs tables, y compris la table d'origine et la table virtuelle. Cette approche vous permet de récupérer plusieurs colonnes des tables jointes.

Exemple de code :

SELECT a.attr, b.id, b.trans, b.lang
FROM attribute a
JOIN attributeTranslation b ON (a.id = b.attribute AND b.lang = 1)
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!