
DEFINICIÓN
La sentencia SELECT
Sintaxis de la sentencia SELECT

La tabla origen - FROM -


Utilización del *
El corazón o poder del lenguaje SQL es el poder
hacer consultas de cualquier tipo a la base de datos en forma no procedural.
La sentencia SELECT
Empezaremos por la sentencia SELECT, que permite recuperar
datos de una o varias tablas. La sentencia SELECT es con mucho la más compleja
y potente de las sentencias SQL.
El resultado de la consulta es una tabla lógica, porque no se
guarda en el disco sino que está en memoria y cada vez que ejecutamos la
consulta se vuelve a calcular.
Cuando ejecutamos la consulta se visualiza el resultado en
forma de tabla con columnas y filas, pues en la sentencia SELECT tenemos que indicar qué
columnas queremos que tenga el resultado y qué filas queremos seleccionar de la
tabla origen.

La tabla origen - FROM -
Con la cláusula FROM indicamos en qué tabla tiene que buscar
la información. En este capítulo de consultas simples el resultado se obtiene
de una única tabla. La sintaxis de la cláusula es:
FROM especificación de tabla
Una especificación de tabla puede ser el nombre de una
consulta guardada (las que aparecen en la ventana de base de datos), o el
nombre de una tabla que a su vez puede tener el siguiente formato:

Aliastabla es un nombre de alias, es como un segundo nombre
que asignamos a la tabla, si en una consulta definimos un alias para la tabla,
esta se deberá nombrar utilizando ese nombre y no su nombre real, además ese
nombre sólo es válido en la consulta donde se define. El alias se suele emplear
en consultas basadas en más de una tabla que veremos en el tema siguiente. La
palabra AS que se puede poner delante del nombre de alias es opcional y es el
valor por defecto por lo que no tienen ningún efecto.
Ejemplo: SELECT ......FROM oficinas ofi;
equivalente a
SELECT ...... FROM oficinas AS ofi esta sentencia me indica que se van a buscar
los datos en la tabla oficinas que queda renombrada en esta consulta con ofi.
En una sentencia SELECT podemos utilizar tablas que no están definidas
en la base de datos (siempre que tengamos los permisos adecuados claro), si la
tabla no está en la base de datos activa, debemos indicar en qué base de datos
se encuentra con la cláusula IN.
En la cláusula IN el nombre de la base de datos debe incluir
el camino completo, la extensión (.mdb), y estar entre comillas simples.
Supongamos que la tabla empleados estuviese en otra base de
datos llamada otra en la carpeta c:\mis documentos\, habría que indicarlo así:
SELECT *
FROM empleados IN 'c:\mis documentos\otra.mdb'
Generalmente tenemos las tablas en la misma base de datos y
no hay que utilizar la cláusula IN.
Selección
de columnas
La lista de columnas que queremos que aparezcan en el
resultado es lo que llamamos lista de selección y se especifica delante de la
cláusula FROM.

Utilización del *
Se utiliza el asterisco * en la lista de selección para
indicar 'todas las columnas de la tabla'.
Tiene dos ventajas:
1. Evitar nombrar las columnas una a una (es más corto).
2. Si añadimos una columna nueva en la tabla, esta nueva columna
saldrá sin tener que modificar la consulta. Se puede combinar el * con el nombre de una tabla (ej.
oficinas.*), pero esto se utiliza más cuando el origen de la consulta son dos
tablas.
SELECT * FROM oficinas
o bien
SELECT oficinas.* FROM oficinas
Lista todos los datos de las oficinas
Columnas de la tabla origen
Las columnas se pueden especificar mediante su nombre simple
(nbcol) o su nombre cualificado (nbtabla.nbcol, el nombre de la columna
precedido del nombre de la tabla que contiene la columna y separados por un
punto).
El nombre cualificado se puede emplear siempre que queramos y
es obligatorio en algunos casos que veremos más adelante.
Cuando el nombre de la columna o de la tabla contiene
espacios en blanco, hay que poner el nombre entre corchetes [ ] y además el
número de espacios en blanco debe coincidir. Por ejemplo [codigo de cliente] no
es lo mismo que [ codigo de cliente] (el segundo lleva un espacio en blanco
delante de código)
Ejemplos :
SELECT nombre, oficina, contrato
FROM ofiventas
Lista el nombre, oficina, y fecha de contrato de todos los empleados.
SELECT idfab, idproducto, descripcion, precio
FROM productos
Lista una tarifa de productos
Alias de columna.
Cuando se visualiza el resultado de la consulta, normalmente
las columnas toman el nombre que tiene la columna en la tabla, si queremos
cambiar ese nombre lo podemos hacer definiendo un alias de columna mediante la
cláusula AS será el nombre que aparecerá como título de la columna.
Ejemplo:
SELECT idfab AS fabricante, idproducto, descripcion
FROM productos
Como título de la primera columna aparecerá fabricante en vez
de idfab
Columnas calculadas.
Además de las columnas que provienen directamente de la tabla
origen, una consulta SQL puede incluir columnas calculadas cuyos valores se
calculan a partir de los valores de los datos almacenados.
Para solicitar una columna calculada, se especifica en la
lista de selección una expresión en vez de un nombre de columna. La expresión
puede contener sumas, restas, multiplicaciones y divisiones, concatenación
& , paréntesis y también funciones predefinidas).
Ejemplos:
Lista la ciudad, región y el superavit de cada oficina.
SELECT ciudad, región, (ventas-objetivo) AS superavit
FROM oficinas
De cada producto obtiene su fabricante, idproducto, su
descripción y el valor del inventario
SELECT idfab, idproducto, descripcion, (existencias * precio) AS
valoracion
FROM productos
Lista el nombre, mes y año del contrato de cada vendedor.
SELECT nombre, MONTH(contrato), YEAR(contrato)
FROM repventas
La función MONTH() devuelve el mes de una fecha
La función YEAR() devuelve el año de una fecha
Ordenación
de las filas - ORDER BY -
Para ordenar las filas del resultado de la consulta, tenemos
la cláusula ORDER BY.
Con esta cláusula se altera el orden de visualización de las
filas de la tabla pero en ningún caso se modifica el orden de las filas dentro
de la tabla. La tabla no se modifica.
Podemos indicar la columna por la que queremos ordenar
utilizando su nombre de columna (nbcolumna) o utilizando su número de orden que
ocupa en la lista de selección (Nºcolumna).
Ejemplo:
SELECT nombre, oficina, contrato
FROM empleados
ORDER BY oficina
es equivalente a
SELECT nombre, oficina, contrato
FROM empleados
ORDER BY 2
Por defecto el orden será ascendente (ASC) (de menor a mayor
si el campo es numérico, por orden alfabético si el campo es de tipo texto, de
anterior a posterior si el campo es de tipo fecha/hora, etc...
En el Siguiente Video se muestra el uso de sentencia simple de Seleccion "Select"
Para acceder a mas información pueden ingresar en la pagina de Microsoft SQL y leer mas sobre
Material Teórico y Trabajos Prácticos
Trabajo Practico Grupal: Hasta 4 integrantes.
El trabajo debe tener una portada indicando los integrantes del grupo.
Deberá ser realizado en un archivo en la Nube de Google (Google Docs), (los contenidos que considere interesante destacar), compartido entre los cuatro estudiantes y el profesor (oscar.orrego09@gmail.com), todos los integrantes deben tener permiso de Edición.
Fecha Entrega: 29/05/2019 -
Deberá ser realizado en un archivo en la Nube de Google (Google Docs), (los contenidos que considere interesante destacar), compartido entre los cuatro estudiantes y el profesor (oscar.orrego09@gmail.com), todos los integrantes deben tener permiso de Edición.
Fecha Entrega: 29/05/2019 -
Saludos.
No hay comentarios:
Publicar un comentario