domingo, 10 de junio de 2012

El lenguaje SQL parte 2


Este lección es la continuación de una anterior ... 

http://php-estudios.blogspot.com.es/2012/06/el-lenguaje-sql-parte-1.html en el cual se vió la sentencia SELECT y con varios ejemplo de la condicional WHERE, entre las que también se vieron otras partes del lenguaje ... AND, OR, IN, BETWEEN.

Para empezar veremos la palabra clave LIKE que es utilizada para realizar búsquedas a partir de un determinado patrón.

SELECT [campos] FROM [tabla] WHERE [campo] LIKE 'patron'


Ejemplo de búsquedas de patrones con LIKE ...

'a_z': buscará coincidencias en palabras que empiecen por 'a' tengan un carácter en medio(cualquiera) y terminen en 'z', es decir 'abz' o 'a1z' serían válidos, pero no 'abbz' o 'a11z' ya que el guíon bajo sólo admite un carácter. 

'%123': este patrón buscaría cualquier palabra que termine en '123' independientemente del número y tipo de carácter que tenga en el comienzo de la palabra, es decir '654123' o 'hola123' serían válidos, sin embargo, '123456' o '123hola' no serían válidos ya que no se cumpliría el patrón.

'hola%': este patrón es válido para las palabras que empiecen por 'hola', ejemplo 'holachaval' o 'holacompi' serían válidos, pero no 'chavalhola' o 'compihola'. 

'%toro%': este patrón es válido para las palabras que contengan el contenido 'toro' sin importar la posición que ocupe en la palabra... por ejemplo: 'montoro' o 'toronto' serían válidos.
Ejemplo de uso con PHP ...

$patron = htmlspecialchars($_POST["variable"]);
$consulta = "SELECT * FROM tabla WHERE campo1 LIKE '%$patron%'";


ORDER BY es una palabra clave que es útil para ordenar resultados de forma ascendente o descendente.

SELECT [campos] FROM [tabla] ORDER BY [campo]  [ASC|DESC]


Ejemplo de uso con PHP ...

 //Extraerá todas las filas dónde campo1 sea menor que 10 de manera 
//descendente es decir de mayor a menor.
$consulta = "SELECT * FROM tabla WHERE campo1 < 10 ORDER BY campo1 DESC";


No hay comentarios: