Maison > Article > base de données > Comment filtrer les données à l'aide d'une sous-requête MySQL ?
En utilisant le mot-clé IN, nous pouvons utiliser des sous-requêtes pour filtrer les données. En effet, nous pouvons utiliser les résultats d'une requête comme une liste de valeurs, en utilisant l'opérateur IN pour filtrer une requête en fonction des résultats d'une autre requête. Les sous-requêtes apparaissent entre parenthèses après le mot clé IN.
Nous illustrerons cet exemple en utilisant les données du tableau suivant −
mysql> Select * from Customers; +-------------+----------+ | Customer_Id | Name | +-------------+----------+ | 1 | Rahul | | 2 | Yashpal | | 3 | Gaurav | | 4 | Virender | +-------------+----------+ 4 rows in set (0.00 sec) mysql> Select * from Reservations; +------+-------------+------------+ | ID | Customer_id | Day | +------+-------------+------------+ | 1 | 1 | 2017-12-30 | | 2 | 2 | 2017-12-28 | | 3 | 2 | 2017-12-29 | | 4 | 1 | 2017-12-25 | | 5 | 3 | 2017-12-26 | +------+-------------+------------+ 5 rows in set (0.00 sec)
La requête ci-dessous utilise l'opérateur 'IN' avec une sous-requête et renvoie le résultat après avoir comparé toutes les valeurs renvoyées par la sous-requête.
mysql> SELECT * from customers WHERE customer_id IN (Select customer_id from reservations); +-------------+----------+ | Customer_Id | Name | +-------------+----------+ | 1 | Rahul | | 2 | Yashpal | | 3 | Gaurav | +-------------+----------+ 3 rows in set (0.00 sec)
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!