Fundamentos de SQL
Fundamentos de SQL
Fundamentos de SQL
Consulta de datos
Ahora nos vamos a centrar en la R de CRUD, es decir, en cmo recuperar la
informacin que nos interesa de dentro de una base de datos, usando
para ello el lenguaje de consulta o SQL. Ya nos preocuparemos luego de cmo
llegamos a introducir los datos primeramente.
Para realizar consultas sobre las tablas de las bases de datos disponemos de la
instruccin SELECT. Con ella podemos consultar una o varias tablas. Es sin
duda el comando ms verstil del lenguaje SQL.
Existen muchas clusulas asociadas a la sentencia SELECT (GROUP BY, ORDER,
HAVING, UNION). Tambin es una de las instrucciones en la que con ms
frecuencia los motores de bases de datos incorporan clusulas adicionales al
estndar, que es el que veremos aqu.
El resultado de una consulta SELECT nos devuelve una tabla lgica. Es decir,
los resultados son una relacin de datos, que tiene filas/registros, con una serie
de campos/columnas. Igual que cualquier tabla de la base de datos. Sin
embargo esta tabla est en memoria mientras la utilicemos, y luego se
descarta. Cada vez que ejecutamos la consulta se vuelve a calcular el resultado.
SELECT
Permite seleccionar las columnas que se van a mostrar y en el orden en que lo
van a hacer. Simplemente es la instruccin que la base de datos interpreta
como que vamos a solicitar informacin.
ALL / DISTINCT
Nombres de campos
Se debe especificar una lista de nombres de campos de la tabla que nos
interesan y que por tanto queremos devolver. Normalmente habr ms de uno,
en cuyo caso separamos cada nombre de los dems mediante comas.
Los nombres indicados deben coincidir exactamente con los nombre de los
campos de la tabla, pero si queremos que en nuestra tabla lgica de resultados
tengan un nombre diferente podemos utilizar:
AS
Permite renombrar columnas si lo utilizamos en la clusula SELECT, o renombrar
tablas si lo utilizamos en la clusula FROM. Es opcional. Con ello podremos crear
diversos alias de columnas y tablas. Enseguida veremos un ejemplo.
FROM
Esta clusula permite indicar las tablas o vistas de las cuales vamos a obtener
la informacin. De momento veremos ejemplos para obtener informacin de
una sola tabla.
WHERE
Especifica la condicin de filtro de las filas devueltas. Se utiliza cuando no se
desea que se devuelvan todas las filas de una tabla, sino slo las que cumplen
ciertas condiciones. Lo habitual es utilizar esta clusula en la mayora de las
consultas.
Condiciones
Son expresiones lgicas a comprobar para la condicin de filtro, que tras su
resolucin devuelven para cada fila TRUE o FALSE, en funcin de que se
> (Mayor)
< (Menor)
= (Igual)
<> o != (Distinto)
BETWEEN
para
controlar
la
prioridad
de
los
operadores
(como
en
ORDER BY
Define el orden de las filas del conjunto de resultados. Se especifica el campo o
campos (separados por comas) por los cuales queremos ordenar los resultados.
ASC / DESC
ASC es el valor predeterminado, especifica que la columna indicad en la
clusula ORDER BY se ordenar de forma ascendente, o sea, de menor a mayor.
Si por el contrario se especifica DESC se ordenar de forma descendente (de
mayor a menor).
Por ejemplo, para ordenar los resultados de forma ascendente por ciudad, y los
que sean de la misma ciudad de forma descendente por nombre, utilizaramos
esta clusula de ordenacin:
Algunos ejemplos
Para terminar este repaso a las consultas simples practicarlas un poco, veamos
algunos ejemplos con la base de datos Northwind en SQL Server:
- Mostrar todos los datos de los Clientes de nuestra empresa:
FROM Employees AS E
- Mostrar las distintas regiones de las que tenemos algn cliente, accediendo
slo a la tabla de clientes:
- Mostrar los clientes que pertenecen a las regiones CA, MT o WA, ordenados
por regin ascendentemente y por nombre descendentemente.
- Mostrar las Ventas del producto 65 con cantidades entre 5 y 10, o que no
tengan descuento: