SELECT*FROMemployee_tbl;+------+------+---------- -- +--------------------+|identifiant"/> SELECT*FROMemployee_tbl;+------+------+---------- -- +--------------------+|identifiant">
Maison > Article > base de données > Comment la fonction MySQL SUM() évalue-t-elle si elle est utilisée avec une instruction SELECT qui renvoie des lignes sans correspondance ?
Lorsque la fonction MySQL SUM() est utilisée avec une instruction SELECT qui ne renvoie aucune ligne correspondante, alors il n'y a rien à évaluer et elle renvoie NULL en sortie. Parfois, nous pensons qu'il doit renvoyer 0 en sortie, mais 0 lui-même est un nombre, et pour les lignes sans correspondance, peu importe qu'il renvoie 0, il renvoie donc NULL. Pour comprendre le concept ci-dessus, considérons une table "employee_tbl" qui contient les enregistrements suivants -
mysql> SELECT * FROM employee_tbl; +------+------+------------+--------------------+ | id | name | work_date | daily_typing_pages | +------+------+------------+--------------------+ | 1 | John | 2007-01-24 | 250 | | 2 | Ram | 2007-05-27 | 220 | | 3 | Jack | 2007-05-06 | 170 | | 3 | Jack | 2007-04-06 | 100 | | 4 | Jill | 2007-04-06 | 220 | | 5 | Zara | 2007-06-06 | 300 | | 5 | Zara | 2007-02-06 | 350 | +------+------+------------+--------------------+ 7 rows in set (0.00 sec)
Maintenant, lorsque nous exécutons la requête suivante pour trouver le nombre total de pages saisies par "Mohan" (un nom qui n'est pas dans le " Colonne "Nom"), la fonction MySQL SUM() renvoie NULL -
mysql> SELECT SUM(daily_typing_pages) FROM employee_tbl WHERE Name = ‘Mohan’; +-------------------------+ | SUM(daily_typing_pages) | +-------------------------+ | NULL | +-------------------------+ 1 row 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!