Maison >base de données >tutoriel mysql >Comment effectuer une requête multi-tables dans MySQL
Méthode MySQL pour les requêtes multi-tables : 1. Requête à l'aide de la clause SELECT ; 2. Requête à l'aide d'un alias de table ; 3. Requête via une jointure interne ; 4. Requête via l'imbrication ;
Comment effectuer une requête multi-tables dans MySQL ? L'article suivant vous présentera quelques méthodes MySQL pour les requêtes multi-tables. J'espère qu'il vous sera utile.
(Tutoriel recommandé : Tutoriel vidéo MySQL)
1. Utiliser la clause SELECT pour une requête multi-table
SELECT 字段名 FROM 表1,表2 … WHERE 表1.字段 = 表2.字段 AND 其它查询条件
Exemple. :
SELECT a.id,a.name,a.address,a.date,b.math,b.english,b.chinese FROM tb_demo065_tel AS b,tb_demo065 AS a WHERE a.id=b.id
Remarque : dans le code ci-dessus, l'association entre les deux tables est établie à la condition que les informations du champ d'identification des deux tables soient les mêmes. Cependant, elles ne doivent pas être utilisées de cette manière. dans le développement réel, il est préférable d'utiliser des contraintes de clé primaire et étrangère pour réaliser
2. Utiliser des alias de table pour effectuer des requêtes multi-tables
Exemple. :
SELECT a.id,a.name,a.address,b.math,b.english,b.chinese FROM tb_demo065 a,tb_demo065_tel b WHERE a.id=b.id AND b.id='$_POST[textid]'
En langage SQL, vous pouvez en utiliser deux. La méthode consiste à spécifier un alias pour la table :
1 Spécifiez-le via le mot-clé AS, tel que
SELECT a.id,a.name,a.address,b.math,b.english,b.chinese FROM tb_demo065 AS a,tb_demo065_tel AS b WHERE a.id=b.id
2. Ajoutez l'alias de la table directement après le nom de la table pour obtenir
SELECT a.id,a.name,a.address,b.math,b.english,b.chinese FROM tb_demo065 a,tb_demo065_tel b WHERE a.id=b.id
Quelques points doivent être notés lors de l'utilisation d'alias de table
Quantity (1 Un alias est généralement un nom de table abrégé, utilisé pour faire référence à des colonnes spécifiques dans une table dans une connexion. S'il y en a plusieurs. Si une colonne portant le même nom existe dans la table, le nom de la colonne doit être qualifié avec le nom de la table ou l'alias de la table <.> ● Si l'alias de la table est défini, le nom de la table ne peut pas être utilisé
3. Requête d'imbrication simple (sous-requête, jointure interne)
Sous-requête : Une sous-requête est une requête SELECT qui renvoie une valeur unique et est imbriquée dans des instructions SELECT, INSERT, UPDATE et DELETE ou d'autres instructions de requête. Toutes les sous-requêtes peuvent être utilisées partout où des expressions sont utilisées. Exemple :SELECT id,name,sex,date FROM tb_demo068 WHERE id in(SELECT id FROM tb_demo068 WHERE id='$_POST[test]')Jointure interne : utilisation de la requête. Le résultat car la condition de requête de la clause WHERE est appelée une jointure interne
SELECT filedlist FROM table1 [INNER] JOIN table2 ON table1.column1 = table2.column1où fieldlist est la Les champs affichés, INNER, indiquent que la méthode de connexion entre les tables est une connexion interne table1.column1=table2.column1. utilisé pour spécifier les conditions de connexion entre les deux tables, telles que :
SELECT a.name,a.address,a.date,b.chinese,b.math,b.english FROM tb_demo065 AS a INNER JOIN tb_demo065_tel AS b on a.id=b.id
4. Intégration complexe Requêtes imbriquées
Les requêtes imbriquées entre plusieurs tables peuvent être implémentées via le prédicat IN . Le format de syntaxe est le suivant :test_expression[NOT] IN{ subquery }Description du paramètre : test_expression fait référence à l'expression SQL et la sous-requête contient la sous-requête d'un certain ensemble de résultats Principe de la requête imbriquée multi-tables. : Quel que soit le nombre de tables imbriquées, il doit y avoir une certaine corrélation entre les tables. Cette corrélation est établie via la clause WHERE pour implémenter la requête
5. >En utilisant UNION dans les instructions SQL, les informations de données qualifiées dans différentes tables peuvent être affichées dans la même colonne. Exemple :
SELECT * FROM tb_demo074_student UNION SELECT * FROM tb_demo074_fasten
Les deux points suivants doivent être notés lors de l'utilisation de UNION :
● Dans chaque table de requête, la structure des données des colonnes correspondantes doit être la même.
6. Requête de jointure interne complexe
La requête de jointure interne complexe est basée sur la requête de jointure interne de base et ajoute certaines conditions de requête, telles que :
SELECT a.name,a.address,a.date,b.chinese,b.math,b.english FROM tb_demo065 AS a INNER JOIN tb_demo065_tel AS b on a.id=b.id WHERE b.id=(SELECT id FROM tb_demo065 WHERE tb_demo065.name='$_POST[text]')En bref, l'essence de la réalisation de l'association entre les tables est qu'il existe des éléments de données communs ou les mêmes éléments de données entre les deux tables. Les deux tables sont connectées via la clause WHERE ou l'instruction INNER JOIN ... ON. la requête.
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!