CONSULTA DE SELECCIN
Este tipo de consulta obtiene los datos de una o ms tablas y muestra los
resultados en una hoja de datos en donde se pueden actualizar los registros.
Tambin se utiliza para agrupar registros para poder calcular sumas,
promedios y hallar totales.
Ejemplo:
Crear la base de datos Farmacia con las tablas Producto e Inventario
O la sintaxis abreviada:
Facultad de Ingeniera Industrial, Sistemas e Informtica Ing. Ana Doris M. Barrera Loza
SELECT Producto, Marca, Pre_compra, Pre_venta
FROM Producto, Inventario
WHERE Producto.Cod_Prod = Inventario.Cod_Prod
Esta sentencia nos va a permitir visualizar dichos datos pero no nos permite
actualizarlos.
INNER JOIN
Para poder actualizar el conjunto de resultados, se reemplaza a la sentencia
WHERE por INNER JOIN. Se utiliza para generar una vista que contenga solo
aquellos registros que tengan una correspondencia exacta en ambas tablas.
Si empleamos la clusula INNER en la consulta se seleccionarn slo aquellos
registros de la tabla de la que hayamos escrito a la izquierda de INNER JOIN
que contengan al menos un registro de la tabla que hayamos escrito a la
derecha.
Facultad de Ingeniera Industrial, Sistemas e Informtica Ing. Ana Doris M. Barrera Loza
Se puede utilizar INNER JOIN con las tablas Categoria y Producto para
seleccionar todos los productos de cada categoria.
Pero si se quiere seleccionar todos las categorias (incluso si alguna de ellas no
tiene ningn producto) se emplea LEFT JOIN, o todos los productos (incluso si
alguno no est asignado a ninguna categoria), en este caso RIGHT JOIN.
LEFT toma todos los registros de la tabla de la izquierda aunque no tengan
ningn registro en la tabla de la izquierda. RIGHT realiza la misma operacin
pero al contrario, toma todos los registros de la tabla de la derecha aunque no
tenga ningn registro en la tabla de la izquierda.
CONSULTA DE ACCION
Consulta de anexin
Se utilizan con dos fines:
Ejemplo:
Si se ha eliminado los datos del producto con cdigo 8 debido a que pas la
fecha de vencimiento, y se ha comprado un nuevo lote de dicho producto,
para agregar los nuevos datos a ese producto utilizaremos la siguiente
sentencia:
Consulta de actualizacin
Tiene la capacidad de modificar un conjunto de registros al mismo tiempo.
Una consulta de actualizacin est formada por tres partes:
Facultad de Ingeniera Industrial, Sistemas e Informtica Ing. Ana Doris M. Barrera Loza
La clusula UPDATE que especifica la tabla a actualizar.
La clusula SET, que especifica que datos se cambiarn.
El criterio WHERE, opcional, que limita el nmero de registros
afectados por la consulta de actualizacin.
Ejemplo:
Aumentar el precio de venta en un 10%
UPDATE Inventario
SET Precio_venta = Pre_venta * 1.1
UPDATE Inventario
SET Pre_venta = Pre_venta * 1.1
WHERE Pre_venta > 20
Consulta de eliminacin
Tiene la capacidad de eliminar un grupo de registros al mismo tiempo.
Ejemplo:
Eliminar los productos cuya fecha de vencimiento sea menor al 15 de
octubre del ao 2000 (utilizar el formato mes/da/ao)
Delete *
FROM Inventario
WHERE Fechvenc < #10/15/00#
CONSULTA DE COMBINACION
Ejemplo:
Si queremos visualizar los datos antiguos y nuevos de los productos
SUBCONSULTAS
Este tipo de consulta consta de una instruccin SQL SELECT dentro de otra
consulta de seleccin o consulta de accin. Es una consulta cuyo resultado se
Facultad de Ingeniera Industrial, Sistemas e Informtica Ing. Ana Doris M. Barrera Loza
utiliza como criterio de otra consulta. Las subconsultas se hacen normalmente
dentro de las expresiones WHERE.
Ejemplo:
Visualizar los datos de los productos cuyo precio de compra sea mayor que el
promedio de precio de compra de todos los productos de la tabla.
SELECT *
FROM Inventario
WHERE Pre_compra > (SELECT AVG(Pre_compra) FROM Inventario)
SELECT *
FROM Producto
WHERE Cod_Prod NOT IN ( SELECT Cod_Prod FROM Inventario)
Facultad de Ingeniera Industrial, Sistemas e Informtica Ing. Ana Doris M. Barrera Loza
SQL CON MAS DE UNA TABLA
Disear una base de datos con 3 tablas las cuales van a estar relacionadas por el campo
Cod_Emp
Facultad de Ingeniera Industrial, Sistemas e Informtica Ing. Ana Doris M. Barrera Loza
and Empleado.Cod_Emp = Cliente.Cod_Emp
Seleccionar el cdigo del empleado, nombres , apellidos y ciudad de sus clientes cuya
ciudad empiece con la letra B
Visualizar los nombres de los empleados cuyo salario es igual o mayor que el salario
medio de todos los empleados.
SELECT Apellido, Nombres FROM Empleados
WHERE Salario >= (SELECT Avg(Salario) FROM Empleados
Facultad de Ingeniera Industrial, Sistemas e Informtica Ing. Ana Doris M. Barrera Loza
Cantidad de clientes por cada empleado
select Dpto.Departamento,
SUM(salario) AS suma_salario,
MAX(salario) AS max_salario,
MIN(salario) AS min_salario,
AVG(salario) AS Prom_salario
from Dpto, Empleado
where Dpto.Cod_Dpto = Empleado.Cod_Dpto
group by Dpto.Departamento
Facultad de Ingeniera Industrial, Sistemas e Informtica Ing. Ana Doris M. Barrera Loza