Mysql et regexp

 MySQL et les expressions régulières	15-11-2000
 Posté par Frédéric Bouchery
  MySQL sait aussi utiliser les expressions régulières. La requête ci-dessous recherche tous les
  enregistrements dont l'email comprend 'pierre', 'paul', ou 'jacques'.
 SELECT * FROM newsletter WHERE email REGEXP '(pierre|paul|jacques);'

  Contourner les requêtes imbriquées
 MySQL ne proposant pas les requêtes imbriquées (pour les versions < 3.24), voici 2 exemples
 pour les contourner.
 --
 SELECT * FROM table1
 WHERE id IN (SELECT id FROM table2);
 Devient :
 SELECT table1.* 
 FROM table1,table2
 WHERE table1.id=table2.id;
 --
 SELECT * 
 FROM table1 
 WHERE id NOT IN (SELECT id FROM table2);
 Devient :
 SELECT table1.*
 FROM table1
 LEFT JOIN table2 ON table1.id=table2.id
 WHERE table2.id IS NULL;

  Recherche approximative sur un nom	
  Posté par pp11
  Pour afficher les noms qui "sonnent" comme votre recherche, SOUNDEX est très utile :
 SELECT nom
 FROM table_noms
 WHERE soundex(nom) LIKE soundex('".$recherche_nom."')
 Exemple : $recherche_nom = "Dupont"
 Trouve : $row'nom' = "Dupond"

 Effacer les enregistrements vieux de plus d'une demi-heure	
 Posté par Samuel Thery
 le but étant d'effacer toutes les lignes d'une table MySQL qui sont vieilles de plus 
 d'une demi-heure (dans mon cas, la table d'un caddie)
 DELETE FROM caddie
 WHERE date < DATE_ADD(NOW(),INTERVAL -30 MINUTE);
 caddie est le nom de ma table et date le nom du champ date (type DATETIME).

  SELECT SUM()	
  Posté par denis
  Cette fonction est d'une puissance fabuleuse et évite beaucoup de lignes de codes en PHP et des 
  requêtes à n'en plus finir surtout si la BDD comporte un grand nombre d'entrées. Voici par exemple :
  SELECT SUM(qte * prix) AS total FROM ventes WHERE mois='janvier' GROUP BY produit
  Ceci permet de connaître la somme des ventes de chaque produit pour le mois de Janvier, 
  et tout ça tient en une ligne. Plus fort encore :
  SELECT SUM(qte * prix) AS total, SUM(total * 1.196) AS totalTTC FROM ventes 
  WHERE mois='janvier' GROUP BY produit
  Idem que l'exemple précédent mais en plus on extrait le total TTC. Et on peut compliquer cette 
  fonction à l'infini et même effectuer des sommes sur des champs de tables différentes.
  La difficulté étant de récupérer les alias qui sont dans les exemples précédents : total et totalTTC.