1. LSC. Luz Armida Urtusuástegui
Pérez
1
Consultas en SQL
2.1.1 realiza consultas y desarrolla
disparadores para la BD
2. LSC. Luz Armida Urtusuástegui
Pérez
2
Select
Recupera información de la Base de Datos y permite la
selección de una o más filas o columnas de una o
muchas tablas. La sintaxis completa de la instrucción
SELECT es compleja, sus cláusulas principales
pueden ser resumidas de la siguiente manera.
SELECT lista_cols
[INTO nueva_tabla]
FROM tabla_origen
[WHERE condición]
[GROUP BY columna1,…]
[HAVING condición]
[ORDER BY columna1, … [ASC][DESC]]
3. LSC. Luz Armida Urtusuástegui
Pérez
3
lista_cols Específica las columnas a ser
devueltas por el query (consulta).
Tener en cuenta las siguientes
consideraciones:
• La lista de select recupera y muestra las
columnas en el orden especificado.
• Separar los nombres de columnas con
comas, excepto la última columna.
• Usar un asterisco en la lista de select para
recuperar todas las columnas de la tabla.
4. LSC. Luz Armida Urtusuástegui
Pérez
4
INTO nueva_tabla Define la creación de una
nueva tabla a partir de la respuesta a la consulta
especificada. Esta operación no es registrada
en el log.
FROM Determina la tabla o tablas de donde se
muestra la información.
WHERE Establece un criterio de selección de filas
GROUP BY Establece la lista de columna por las
cuales se agrupara la información.
HAVING Permite filtrar los grupos generados por
GROUP BY
ORDER BY Permite ordenar la información de
acuerdo a los requerimientos.
5. LSC. Luz Armida Urtusuástegui
Pérez
5
Ejemplos
En los siguientes ejemplos se muestra, el uso del
SELECT, la creación de campos calculados, el uso de
operadores de funciones agregadas y de group by.
1. Mostrar las lista de las oficinas de ventas con sus
objetivos y ventas reales
USE Ejemplo
GO
SELECT CIUDAD, OBJETIVO, VENTAS
FROM Oficinas
GO
6. LSC. Luz Armida Urtusuástegui
Pérez
6
2. Mostrar los nombres, oficinas y fechas de
contrato de los vendedores
SELECT NOMBRE, OBJETIVO, VENTAS
FROM REPVENTAS
GO
7. LSC. Luz Armida Urtusuástegui
Pérez
7
3. Mostrar el nombre, cuota y ventas del
empleado de código 107
SELECT NOMBRE, CUOTA, VENTAS
FROM REPVENTAS
WHERE NUM_EMPL = 107
GO
Nótese que en esta última consulta se ha
empleado la cláusula WHERE para
restringir el número de filas a devolver, a
diferencia de la primera que le devolvía
todas las filas.
8. LSC. Luz Armida Urtusuástegui
Pérez
8
4. Mostrar el monto de ventas promedio de los
vendedores
SELECT AVG(VENTAS)
FROM REPVENTAS
GO
En este último ejemplo se obtiene un único valor
que representa una pequeña tabla, aunque
conste de una sola fila y una sola columna. Este
valor es el resultado de sumar todos los valores
del campo VENTAS y dividirlo entre el número
de filas.
9. LSC. Luz Armida Urtusuástegui
Pérez
9
5. Mostrar los nombres y fechas de contratos de
los vendedores que superaron la
barrera de los 500,000
SELECT NOMBRE, CONTRATO
FROM REPVENTAS
WHERE VENTAS>500000
GO
En este último ejemplo no se obtienen filas, con lo
cual queda demostrado que no siempre las
consultas deben devolver filas, esto representa
que ningún registro cumplió con la condición
expresada en la cláusula WHERE.
10. LSC. Luz Armida Urtusuástegui
Pérez
10
6. Mostrar la CIUDAD, REGION y el IMPORTE de
por encima o por debajo del OBJETIVO
SELECT CIUDAD, REGION, (VENTAS -
OBJETIVO) As SITUACION
FROM OFICINAS
GO
Nótese que en el ejemplo se emplea la cláusula
As que permite asignar un encabezado de
columna al campo calculado (VENTAS –
OBJETIVO).
11. LSC. Luz Armida Urtusuástegui
Pérez
11
7. Mostrar el valor del inventario para cada
producto
Select Id_Fab, Id_Producto, Descripcion,
(Existencias*Precio) As Valor
From Productos
GO
Similar al ejemplo anterior se emplea un campo
calculado al cual se le asigna un encabezado a
través del empleo de la cláusula As.