Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Clase1-Sql
Clase1-Sql
SELECT cliente.NombreApellido,pedido.Fecha,cliente.Carnet
FROM agencia.cliente,agencia.pedido,agencia.articulo,agencia.pedidoarticulo
where articulo.CodArticulo=1265
and cliente.Carnet=pedido.CarnetCliente
and pedido.idPedido=pedidoarticulo.CoPedido
and pedidoarticulo.CoArticulo=articulo.CodArticulo;
MOSTRAR EL NOMBRE DEL CLIENTE,FECHA Y DIRECCION
SELECT
cliente.NombreApellido,pedido.Fecha,cliente.Carnet,direccion.Calle,direccion.Numero
,direccion.Zona
FROM
agencia.direccion,agencia.cliente,agencia.pedido,agencia.articulo,agencia.pedidoart
iculo,agencia.clientedireccion
where pedido.Fecha="16-10-2018"
and cliente.Carnet=pedido.CarnetCliente
and cliente.Carnet=clientedireccion.CarCliente
and clientedireccion.CodDireccion=direccion.idDireccion
and pedido.idPedido=pedidoarticulo.CoPedido
and pedidoarticulo.CoArticulo=articulo.CodArticulo;
SELECCIONAR LOS CLIENTES CUYO NOMBRE EMPIEZA CON ALGUNA VOCAL
MODO 1: SELECT cliente.NombreApellido FROM agencia.cliente WHERE
SUBSTRING(NombreApellido,1,1) IN ("a","e","i","o","u");
MODO 2:SELECT cliente.NombreApellido
FROM agencia.cliente
WHERE NombreApellido LIKE 'a%'
OR NombreApellido LIKE 'e%'
OR NombreApellido LIKE 'i%'
OR NombreApellido LIKE 'o%'
OR NombreApellido LIKE 'u%';
SELECCIONAR LA FECHA, DIA, MES , A�O, MINUTOS Y SEGUNDOS
SELECT CURRENT_TIMESTAMP;
SELECCIONAR LA FECHA DEL DIA PRIMERO DE ENERO DEL 2019 MEDIANTE UNA TIRA DE
CARACTERES Y SU MASCARA DE FORMATO
SELECT STR_TO_DATE("01/01/19","d%,%m,%y) from dual
CALCULAR EL NUMERO DE SEGUNDOS TRASCURRIDOS DESDE LA ULTIMA MEDIA NOCHE
Select timestampdiff( second, '2019-02-18 00:00:00' , '2019-02-18 11:30:00' );
MOSTRAR EL NOMBRE DEL CLIENTE, LA FECHA Y LA CANTIDAD DEL ARTICULO "NNNNN"
SELECT cliente.NombreApellido,pedido.Fecha,pedidoarticulo.Cantidad
FROM agencia.cliente,agencia.pedido,agencia.articulo,agencia.pedidoarticulo
where articulo.CodArticulo=2502
and cliente.Carnet=pedido.CarnetCliente
and pedido.idPedido=pedidoarticulo.CoPedido
and pedidoarticulo.CoArticulo=articulo.CodArticulo;
MOSTRAR EL NOMBRE(BEDOYA CASTILLO,LEONCIA) Y EN QUE FECHA SE REGISTRO EN LA BASE DE
DATOS
SELECT cliente.NombreApellido,pedido.Fecha
FROM agencia.cliente,agencia.pedido
where cliente.NombreApellido="BEDOYA CASTILLO, LEONCIA"
and cliente.Carnet=pedido.CarnetCliente;
MOSTRAR TELEFONO,NUMERO DE FABRICA,EXISTENCIAS DEL ARTICULO, QUE PIDIO UN CLIENTE
SELECT
cliente.NombreApellido,pedido.Fecha,cliente.Carnet,artfabrica.Existencias,fabrica.C
odigoFabrica,fabrica.Telefono
FROM
agencia.cliente,agencia.pedido,agencia.articulo,agencia.pedidoarticulo,agencia.artf
abrica,agencia.fabrica
where articulo.CodArticulo=2502
and cliente.Carnet=pedido.CarnetCliente
and pedido.idPedido=pedidoarticulo.CoPedido
and pedidoarticulo.CoArticulo=articulo.CodArticulo
and articulo.CodArticulo=artfabrica.CodArticulo
and artfabrica.CodFabrica=fabrica.CodigoFabrica;
OBTENER LISTADO DE ARTICULOS, INCLUYENDO NOMBRE, PRECIO Y EL CODIGO DE LA FABRICA
DEL ARTICULO
SELECT
articulo.Descripcion,articulo.CodArticulo,fabrica.CodigoFabrica,articulo.Precio
FROM agencia.articulo,agencia.artfabrica,agencia.fabrica
where articulo.CodArticulo=1197
and articulo.CodArticulo=artfabrica.CodArticulo
and artfabrica.CodFabrica=fabrica.CodigoFabrica;
OBTENER EL PRECIO MEDIO DE LOS PRODUCTOS DE CADA FABRICA MOSTRANDO SOLO LOS CODIGOS
DE LA FABRICA
SELECT fabrica.CodigoFabrica, avg(Precio)
FROM agencia.articulo,agencia.artfabrica,agencia.fabrica
where articulo.CodArticulo=artfabrica.CodArticulo
and artfabrica.CodFabrica=fabrica.CodigoFabrica
GROUP BY fabrica.CodigoFabrica;
OBTENER EL CODIGO,NOMBRE DE LA FABRICA QUE OFREZCA CUYO PRECIO MEDIO SEA MAYOR= A
500 BS
SELECT fabrica.CodigoFabrica,fabrica.Nombre, avg(Precio)
FROM agencia.articulo,agencia.artfabrica,agencia.fabrica
where articulo.Precio>=500
and articulo.CodArticulo=artfabrica.CodArticulo
and artfabrica.CodFabrica=fabrica.CodigoFabrica
GROUP BY fabrica.CodigoFabrica;
LISTAR EN ORDEN ALFABETICO, NOMBRES,APELLIDOS DE LOS CLIENTES A LOS QUE NO
ENTREGARON, PEDIDO DE HUARI, NI DE PACE�A
use agencia;
SELECT cliente.NombreApellido, fabrica.CodigoFabrica,fabrica.Nombre
FROM
agencia.cliente,agencia.fabrica,agencia.artfabrica,agencia.articulo,agencia.pedido,
agencia.pedidoarticulo
WHERE
cliente.Carnet=pedido.CarnetCliente
and pedido.idPedido=pedidoarticulo.CoPedido
and pedidoarticulo.CoArticulo=articulo.CodArticulo
and articulo.CodArticulo=artfabrica.CodArticulo
and artfabrica.CodFabrica=fabrica.CodigoFabrica
and fabrica.Nombre !=
(
SELECT
fabrica.Nombre
FROM
agencia.fabrica
WHERE
fabrica.Nombre="Pace�a"
)
and fabrica.Nombre !=
(
SELECT
fabrica.Nombre
FROM
agencia.fabrica
WHERE
fabrica.Nombre="Huari"
)
order by cliente.NombreApellido;
MOSTRAR EL PEDIDO "NNNN" CODIGO,CANTIDAD,DIRECCION, A QUE CLIENTE, CARNET,
TELEFONO, ZONA,CALLE
select
cliente.NombreApellido,direccion.Calle,direccion.Zona,pedido.idPedido,pedido.Fecha,
pedidoarticulo.Cantidad
from agencia.pedido
join cliente on pedido.CarnetCliente=cliente.Carnet
join direccion on pedido.IdDireccion=direccion.idDireccion
join pedidoarticulo on pedido.idPedido=pedidoarticulo.CoPedido
where cliente.Carnet=109185;
SELECCIONAR EL PRECIO TOTAL DE TODOS LOS ARTICULOS DANDO UN ALIAS A LA COLUMNA
RESULTANTE
SELECT SUM(articulo.Precio) AS PRECIOSTOTAL
FROM
agencia.articulo;
SELECCIONAR EL NOMBRE DE LA EMPRESA, EL ARTICULO Y SU PRECIO SI ES MAYOR A 320 BS
SELECT fabrica.Nombre,articulo.Descripcion,articulo.Precio
FROM
agencia.fabrica,agencia.artfabrica,agencia.articulo
where articulo.Precio>320
and fabrica.CodigoFabrica=artfabrica.CodFabrica
and artfabrica.CodArticulo=articulo.CodArticulo
MOSTRAR LOS PRECIOS TOTALES DE LOS CLIENTES QUE SUPERE EL PROMEDIO DE MONTOS
TOTALES
select cliente.NombreApellido,articulo.Precio
from
agencia.cliente,agencia.pedido,agencia.pedidoarticulo,agencia.articulo
WHERE
cliente.Carnet=pedido.CarnetCliente
and pedido.idPedido=pedidoarticulo.CoPedido
and articulo.CodArticulo=pedidoarticulo.CoArticulo
and articulo.Precio>
(
Select avg(articulo.Precio)
from agencia.articulo
);
agencia.cliente,agencia.fabrica,agencia.artfabrica,agencia.articulo,agencia.pedido,
agencia.pedidoarticulo
WHERE
cliente.Carnet=pedido.CarnetCliente
and pedido.idPedido=pedidoarticulo.CoPedido
and pedidoarticulo.CoArticulo=articulo.CodArticulo
and artfabrica.CodFabrica=fabrica.CodigoFabrica
and fabrica.Nombre !=
(
SELECT
fabrica.Nombre
FROM
agencia.fabrica
WHERE
fabrica.Nombre="Pace�a"
)
and fabrica.Nombre !=
(
SELECT
fabrica.Nombre
FROM
agencia.fabrica
WHERE
fabrica.Nombre="Bock"
)
order by cliente.NombreApellido;
MSOTRAR EL NUMERO DE ARTICULO, PRECIO, QUE FUERON PEDIDOS LA FECHA 26/08/2018 Y
ENVIADOS A LA ZONA SUD
SELECT articulo.Precio,articulo.CodArticulo,articulo.Descripcion,direccion.Zona
FROM agencia.pedido,agencia.articulo,agencia.pedidoarticulo,agencia.direccion
where pedido.Fecha="24-01-2019"
and pedido.IdDireccion=direccion.idDireccion
and pedido.idPedido=pedidoarticulo.CoPedido
and pedidoarticulo.CoArticulo=articulo.CodArticulo;
SEPARAR EL CARACTER MAYUSCULA Y HACER QUE LOS DEMAS SEAN MINUSCULAS,LUEGO
CONCATENAR Y ACTUALIZAR
use agencia;
SELECT CONCAT(left(NombreApellido,1),lower(substring(NombreApellido,2)) ) from
agencia.cliente;
use agencia;
update cliente
SET NombreApellido
=CONCAT(left(NombreApellido,1),lower(substring(NombreApellido,2)))where Cod!="";
SEPARAR EL CARACTER MAYUSCULA Y HACER QUE LOS DEMAS SEAN MINUSCULAS Y LUEGO
CONCATENAR EN ARTICULO Y ACTUALIZAR
use agencia;
SELECT CONCAT(left(Descripcion,1),lower(substring(Descripcion,2)) ) from
agencia.articulo;
use agencia;
update articulo
SET Descripcion =CONCAT(left(Descripcion,1),lower(substring(Descripcion,2)))where
CodArticulo!="";
SEPARAR EL CARACTER MAYUSCULA Y HACER QUE LOS DEMAS SEAN MINUSCULAS Y LUEGO
CONCATENAR EN DIRECCION(ZONA) Y ACTUALIZAR
use agencia;
update direccion
SET Zona =CONCAT(left(Zona,1),lower(substring(Zona,2))) where idDireccion!="";
AGREGAR A LA COLUMNA, NOMBRE Y APELLIDO LOS ARTICULOS QUE PERTENECEN A ESE CLIENTE
CON UN GUION SEPARADOR
SELECT concat(cliente.NombreApellido,"--",articulo.Descripcion) as ClienteArticulo
from
agencia.cliente,agencia.fabrica,agencia.artfabrica,agencia.articulo,agencia.pedido,
agencia.pedidoarticulo
where cliente.Carnet=pedido.CarnetCliente
and pedido.idPedido=pedidoarticulo.CoPedido
and pedidoarticulo.CoArticulo=articulo.CodArticulo
and artfabrica.CodFabrica=fabrica.CodigoFabrica;
CREAR UN PROCEDIMIENTE DE AGENCIAS CON EL PRECIO TOTAL E INCREMENTAR EL PRECIO DEL
ARTICULO 3 CON EL MONTO DE 2000
use agencia;
CREATE PROCEDURE PrecioA�adido
(IN PrecioASumar INTEGER)
SELECT articulo.Descripcion,PrecioASumar,articulo.Precio+PrecioASumar as
NuevoPrecio
FROM
agencia.articulo
where NumArt=3;
CREAR UN PROCEDIMIENTO QUE MUESTRE TODOS LOS NOMBRES DE LAS FABRICAS Y CAMBIAR EL
NOMBRE DE LA FABRICA NRO 2 QUE ES DE PACE�A Y CAMBIAR POR PILSENER
use agencia;
CREATE PROCEDURE NuevoNombreFabrica
(in NuevoNombre varchar(10))
UPDATE agencia.fabrica set fabrica.Nombre=NuevoNombre
where CodigoFabrica=2;
select fabrica.CodigoFabrica,fabrica.Nombre as Reasignado
from fabrica
where CodigoFabrica=2;
USO DE TRIGGER Y UN PROCEDIMIENTO ALMACENADO
use pruebita;
delimiter |
CREATE TRIGGER INSERTAR
BEFORE INSERT
ON pruebita.tabla_a FOR EACH ROW
BEGIN
insert into pruebita.tabla_b (tabla_b.Nombre) values (new.Nombre);
END;
|
CREATE PROCEDURE InsertarNombre
(IN NuevoNombre varchar(20))
insert into pruebita.tabla_a(tabla_a.Nombre) value(NuevoNombre);
DESARROLLAR UN DISPARADOR CON UNA TABLA PARA CUANDO RECIBA SENTENCIA INSERT ACTUA
COMO UN ACUMULADOR QUE SUMA LOS VALORES INSERTADOS EN UNA DE LAS COLUMNAS DE LA
TABLA