Documentos de Académico
Documentos de Profesional
Documentos de Cultura
BD SQL PDF
BD SQL PDF
Agrega nuevos registros a una tabla. Modifica los valores de uno o ms campos
de un conjunto de registros de una tabla.
INSERT INTO <tabla>
[(<lista de campos>)] UPDATE <tabla>
VALUES (<lista de valores>|<expresin select>) SET <lista de asignaciones>
[WHERE <condiciones lgicas>]
PEDIDO
INSERT INTO PEDIDO NRO_PED RUT_PROV UPDATE PEDIDO
(NRO_PED, RUT_PROV) 100 15.333.222-1 SET RUT_PROV=60.155.842-K PEDIDO
NRO_PED RUT_PROV
VALUES (130, 50.155.842-K) 115 50.251.366-9 WHERE NRO_PED = 115
100 15.333.222-1
120 17.322.568-2
115 60.155.842-K 115 50.251.366-9
DELETE SELECT
Obtener Prov# y Nombre de todos los Obtener los cdigos de todos los artculos:
proveedores:
Obtener los cdigos de los artculos Obtener toda la informacin de los proveedores de
Santiago:
solicitados:
Art#
SELECT *
SELECT ART# 685431-4
878795-7
FROM PROVEEDORES
WHERE PROVEEDORES.CIUDAD =Santiago
FROM DETALLES 468624-8
556546-3
878795-7
SELECT *
SELECT DISTINCT ART# Art#
FROM PROVEEDORES
WHERE CIUDAD =Santiago
FROM DETALLES 685431-4 Prov# Nombre Ciudad
878795-7
5645462-8 ABC Santiago
468624-8
8545432-8 MNO Santiago
556546-3
Obtener los cdigos de pedidos por cantidades Obtener los nombres de los proveedores en orden
comprendidas entre 10 y 48: alfabtico:
SELECT NOMBRE
SELECT DISTINCT PED#
FROM PROVEEDORES
FROM DETALLES
ORDER BY NOMBRE
WHERE CANTIDAD >= 10
AND CANTIDAD <= 48
Nombre
Ped#
MNO
1 YTF
3 ZYZ
Obtener los cdigos de pedidos con los datos de Obtener las ciudades de los proveedores que han
los proveedores a los que estos van dirigidos: entregado lpices:
SELECT PED#, PROV#, NOMBRE, CIUDAD SELECT DISTINCT CIUDAD
Ciudad
FROM PEDIDOS, PROVEEDORES FROM ARTICULOS, DETALLES,
WHERE PEDIDOS.PROV# = PROVEEDORES.PROV# PEDIDOS, PROVEEDORES Santiago
Encontrar todos las parejas distintas de cdigos Si en la instruccin SELECT no hay un GROUP BY (visto
artculos : ms adelante), las funciones agregadas operan sobre todas
las tuplas
Funciones agregadas:
SELECT A.ART#, B.ART# COUNT(): cuenta tuplas
FROM ARTICULOS A, ARTICULOS B MIN(): obtiene el menor valor para un campo
A.Art# B.Art#
WHERE A.ART# < B.ART# MAX(): obtiene el mayor valor para un campo
685431-4 878795-7 SUM(): suma los valores de un campo
685431-4 996589-0
AVG(): calcula el promedio de valores de un campo
468624-8 556546-3
468624-8 685431-4 STDEV(): calcula la d.e. de valores de un campo
468624-8 878795-7 VARIANCE(): calcula la varianza de valores de un campo
468624-8 996589-0
556546-3 685431-4
556546-3 996589-0
FROM DETALLES
WHERE ART#=878795-7 Sum(Cantidad)
60
!
Franco Guidi Polanco 25 Franco Guidi Polanco 26
Permite generar condiciones basadas en la Mostrar los datos de los artculos que no han sido
existencia o inexistencia de tuplas. pedidos:
Ejemplo: encontrar los artculos que tienen el
mismo nombre (pero cdigo diferente) :
SELECT *
SELECT *
FROM ARTICULOS
FROM ARTICULOS A1
WHERE NOT EXISTS
WHERE EXISTS Art#
Nombre_
articulo
WHERE A1.NOMBRE_ARTICULO = WHERE ARTICULOS.ART# =
685431-4 Lpiz
A2.NOMBRE_ARTICULO AND 996589-0 Lpiz DETALLES.ART# )
A1.ART# <> A2.ART# )
GROUP BY: permite agrupar tuplas sobre la base GROUP BY es til con funciones agregadas.
de similitudes. Ejemplo: encontrar la cantidad de proveedores de
Ejemplo: Encontrar las ciudades de los cada ciudad:
proveedores
SELECT CIUDAD, COUNT(*)
SELECT CIUDAD FROM PROVEEDORES Ciudad Count(*)
HAVING se usa con GROUP BY, para establecer Regla para el uso de la cusula HAVING:
una condicin de filtro sobre tuplas agregadas.
Ejemplo: Encontrar los cdigos de artculo y las
cantidades para los cuales se haya pedido en total
50 o ms unidades. Todos los identificadores de columnas
especificados en la clusula HAVING deben
SELECT Art#, SUM(Cantidad) estar contenidos en una funcin agregada o
FROM Detalles
GROUP BY Art#
Art#
685431-4
878795-7
Sum(Cantidad)
50
60
!
en la lista de columnas especificadas en la
clusula GROUP BY.
HAVING SUM(Cantidad)>=50 468624-8 500
Ejemplos:
Situacin vlida:
SELECT Art#, SUM(Cantidad)
FROM Detalles
GROUP BY Art#
HAVING ART#=878795-7 AND SUM(Cantidad)>=50
Situacin no vlida:
SELECT Art#, SUM(Cantidad)
FROM Detalles
GROUP BY Art#
HAVING PED#=1