Sobre la consulta de los datos

Con el fin de hacer una recuperación de información de la base de datos, se usará la sentencia de select, el cual posee a continuación esta sintaxis:

[callout font_size=”13px” style=”bluegrey”]
select [ALL|DISTINCT]
[expre_column1, expre_colum2, …, expre_column | *]
FROM [nombre_tabla1, nombre_tabla2, …, nombre_tablan]
[WHERE condicion]
[ORDER BY expre_colum [DESC|ASC] [,expre_colum [DESC|ASC]]…];
[/callout]
En el cual expre_colum lograría ser una columna de la tabla, una constante, con una o diversas funciones, inclusive en las expresiones aritméticas.

Sólo la cláusula obligada es la cláusula FROM, las otras son alternativas.

FROM

Este señala la tabla o la lista de tablas del cual se irá a recuperar cada información. Si una persona de la base de datos no es el dueño de esa tabla, deberá de especificar el nombre de la persona delante de la tabla, como se explica en el ejemplo a continuación:

[callout font_size=”13px” style=”bluegrey”]
select * from profesor.alumnos;[/callout]

En el cual profesor seria el nombre de usuario y alumnos el nombre de esa tabla.

Asimismo, se le puede designar diferentes nombres siendo más cortos a la tabla por medio del denominado alias.

select a.nombre, a.edad from alumnos a;
La tabla alumnos toma el alias a.

WHERE

Este se encarga de devolver cada fila que cumpla con la condición pautada. El formato de la condición seria la mostrada a continuación:

[callout font_size=”13px” style=”bluegrey”]
expresión operador expresión. [/callout]
Se puede elaborar una condición múltiple utilizando los operadores lógicos AND OR y NOT, asimismo, se pueden emplear los paréntesis con el fin de fortificar el orden de ejecución de cada expresión.

Un ejemplo del uso del where bastante fácil de comprender es el mostrado a continuación:
[callout font_size=”13px” style=”bluegrey”]
select nombre from alumno where nota>7 and edad<7;[/callout]

Se trata de una sentencia el cual os mostrará el nombre de los alumnos que cumpliesen las dos condiciones señaladas.

ALL

En este se puede recuperar cada una de las filas así se tenga repetida, es la cláusula predeterminada.

DISTINCT

Trabaja de manera contraria a la anterior, simplemente recupera las filas que no se estén repetidas.

ORDER BY

Es una cláusula la cual determine el criterio de distribución del resultado conseguido dentro de la consulta. ASC concreta el orden ascendente y DES el descendente.

Se puede anidar asimismo siendo el situado más a la izquierda que el principal. A continuación os dejo un ejemplo para tenerlo claro:
[callout font_size=”13px” style=”bluegrey”]
select * from alumnos oder by nombre, curso desc;[/callout]

Se trata de una sentencia el cual les enseñará los datos de los alumnos distribuidos primero por nombre ascendente y por el curso descendente.