Maison > Article > Les sujets > Comment écrire une instruction de requête php mysql
L'instruction de requête php mysql s'écrit comme suit : [select * from marchandises où marchandises_id dans (sélectionnez max(goods_id) à partir du groupe de marchandises par cat_id);].
L'instruction dite de sous-requête consiste à interroger d'abord un résultat via une instruction, puis à interroger à nouveau le résultat via une instruction de requête. Il existe généralement trois types d'instructions de sous-requête : Utilisons un cas pour expliquer.
(Tutoriel vidéo recommandé : Tutoriel vidéo php )
Cas : Recherchez les dernières informations sur le produit sous chaque catégorie dans [Exemple 1].
Si vous interrogez une seule phrase, vous ne pouvez pas l'obtenir. Ce qui suit est faux :
select max(goods_id),cat_id,goods_name from goods group by cat_id;
De cette façon, le dernier numéro d'identification du produit Goods_id de chaque catégorie est obtenu, mais d'autres informations telles que Goods_name sont les anciennes. Par conséquent, si vous souhaitez obtenir les dernières informations sur les produits pour chaque catégorie, vous devez soit effectuer une requête séparément, soit utiliser une sous-requête.
1. où instruction de sous-requête.
select * from goods where goods_id in ( select max(goods_id) from goods group by cat_id);
Dans ce code, nous utilisons d'abord group by pour interroger le dernier ID de produit de chaque catégorie, puis utilisons l'instruction conditionnelle Where...in () pour interroger les informations sur le produit du dernier ID de produit de chaque catégorie. Voici l'instruction group by en tant qu'instruction de sous-requête de où.
2. à partir de l'instruction de sous-requête.
select * from (select * from goods order by cat_id,goods_id desc) as gk group by cat_id;
La sous-requête From consiste à utiliser les résultats de la requête de sélection sous forme de tableau, comme le code en gras ci-dessus. Remarque : L'ensemble de résultats interrogé par select doit recevoir un alias, tel que la partie rouge dans le code ci-dessus. Sinon, une erreur sera signalée.
De cette manière, nous recherchons également les dernières informations sur les produits dans chaque catégorie.
3. Il existe une instruction de sous-requête :
Titre : requête [Exemple 1] quelles colonnes contiennent des produits. Nom de la table des catégories : catégorie
select * from category where exists( select * from goods where goods.cat_id=category.cat_id )
L'existe dans la phrase précédente est vérifié (lorsque l'ID de catégorie dans la table des produits = l'ID de catégorie dans la table des catégories), y a-t-il un produit ? Si tel est le cas, interrogez les informations de cette catégorie. Sinon, excluez cette catégorie. Le résultat final est que les informations de classification du produit sont interrogées.
Eh bien, nous introduisons ici trois sous-requêtes de base de données MySQL couramment utilisées : où la sous-requête, depuis la sous-requête et existe la sous-requête. Bien sûr, si vous ne souhaitez pas utiliser d'instructions de sous-requête, vous pouvez également les diviser en deux instructions pour leur exécution, et l'effet sera le même.
Recommandations associées : formation php
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!