Effectuer des opérations moins dans MySQL
Dans MySQL, l'exécution d'opérations moins n'est pas directement prise en charge comme dans la base de données Oracle. Cependant, il existe d'autres moyens d'obtenir des résultats similaires en utilisant NOT IN ou d'autres techniques.
Comprendre le problème
Vous disposez de trois tableaux :
Vous souhaitez combiner ces tableaux et afficher le résultat comme :
SELECT query_1 - SELECT query_2
Solution utilisant NOT IN
MySQL fournit l'opérateur NOT IN, qui peut être utilisé pour émuler moins opérations. La requête ci-dessous exploite NOT IN pour obtenir le résultat souhaité :
SELECT service_details.Service_Code FROM service_details WHERE service_details.Service_Code IN ( SELECT servicing_states.Service_Code FROM servicing_states WHERE servicing_states.State = 'California' ) AND service_details.Service_Code NOT IN ( SELECT exception.Service_Code FROM exception WHERE exception.State = 'California' );
Cette requête sélectionne le Service_Code dans la table Service_Details qui existe dans la table Servicing_States pour la Californie mais n'est pas présent dans la table Exception pour la Californie. Cette approche imite l'effet d'une opération moins.
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!