domingo, 22 de abril de 2012

Consultas Join


CONSULTA left outer join
select nombre,id_transaccion from articulo
left outer join transacciones
on transacciones.id_articulo = articulo.id_articulo
group by nombre;


select nombre_cliente, email,id_transaccion from cliente
left outer join transacciones
on transacciones.id_cliente = cliente.id_cliente
group by nombre_cliente;


CONSULTA right outer join 
select nombre,id_transaccion from articulo
right outer join transacciones
on transacciones.id_articulo = articulo.id_articulo
group by nombre;


select nombre_cliente,email,id_transaccion from cliente
right outer join transacciones
on transacciones.id_cliente = cliente.id_cliente
group by nombre_cliente;

CONSULTA join
Consulta joing que muestre el nombre, teléfono del cliente ademas del vendedor que hizo la venta y el articulo que se compro
select nombre_cliente,email,nombre_emp,nombre
from transacciones
join cliente
on transacciones.id_cliente = cliente.id_cliente
join empleado
on transacciones.id_empleado = empleado.id_empleado
join artxtrans
on artxtrans.id_transaccion = transacciones.id_transaccion
join articulo
on articulo.id_articulo = artxtrans.id_articulo
where fechatransaccion >  (date_add(curdate(),interval - 1 month)) ;






Consulta de una fecha especifica


Select cliente.id_cliente, cliente.nombre_cliente, transacciones.id_transaccion, transacciones.fechatransaccion, dayname('2012-02-03'),monthname('2012-02-03')
from cliente,transacciones,artxtrans,articulo
where transacciones.id_transaccion = artxtrans.id_transaccion
and transacciones.id_cliente = cliente.id_cliente
and fechatransaccion = ('2012-02-03')
group by id_cliente
order by nombre_cliente asc ;

Select cliente.id_cliente, cliente.nombre_cliente, transacciones.id_transaccion, transacciones.fechatransaccion, dayname('2012-02-15'),monthname('2012-02-15')
from cliente,transacciones,artxtrans,articulo
where transacciones.id_transaccion = artxtrans.id_transaccion
and transacciones.id_cliente = cliente.id_cliente
and fechatransaccion = ('2012-02-15')
group by id_cliente
order by nombre_cliente asc ;


miércoles, 7 de marzo de 2012

Consultas


Listar los clientes (nombre) que compraron un artículo determinado:

SELECT cliente.nombre_cliente,transacciones.id_articulo
FROM transacciones,cliente
WHERE transacciones.id_cliente =cliente.id_cliente
AND transacciones.id_articulo ="3";



SELECT cliente.nombre_cliente,transacciones.id_articulo
FROM transacciones,cliente
WHERE transacciones.id_cliente =cliente.id_cliente
AND transacciones.id_articulo ="2";


Listar los tipos de artículos vendidos por vendedor:

SELECT tipo.descripcion, transacciones.id_articulo
FROM transacciones, tipo
WHERE transacciones.id_articulo = tipo. id_tipo;


Listar los clientes y vendedores para el día de hoy:

SELECT cliente.nombre_cliente,empleado.nombre
FROM cliente,empleado,transacciones
WHERE transacciones.fechatransaccion = "2012-02-15";





martes, 21 de febrero de 2012

Datos insertados


INSERT INTO tipo (descripcion) VALUES ("Tecnologia");

INSERT INTO tipo (descripcion) VALUES ("Hogar");

INSERT INTO tipo (descripcion) VALUES ("Papeleria");

INSERT INTO tipo (descripcion) VALUES ("Calzado");


INSERT INTO tipo (descripcion) VALUES ("Ropa");

INSERT INTO articulo (id_articulo, id_tipo, nombre) VALUES ("1","2","cortinas");

INSERT INTO articulo (id_articulo, id_tipo, nombre) VALUES ("2","2","colchon");

INSERT INTO articulo (id_articulo, id_tipo, nombre) VALUES ("3","1","computador");

INSERT INTO articulo (id_articulo, id_tipo, nombre) VALUES ("4","2","toallas");

INSERT INTO articulo (id_articulo, id_tipo, nombre) VALUES ("5","3","block rayado");

INSERT INTO articulo (id_articulo, id_tipo, nombre) VALUES ("6","1","xbox");

INSERT INTO articulo (id_articulo, id_tipo, nombre) VALUES ("7","5","camisas");

INSERT INTO articulo (id_articulo, id_tipo, nombre) VALUES ("8","5","chaquetas");

INSERT INTO articulo (id_articulo, id_tipo, nombre) VALUES ("9","4","tenis escolares");

INSERT INTO cliente (id_cliente,nombre_cliente,email,direccion) VALUES ("1","Andres","andres@hormail.com","calle50#30 a");

INSERT INTO cliente (id_cliente,nombre_cliente,email,direccion) VALUES ("2","Carlos","carlos@hormail.com","calle50#36 b");

INSERT INTO cliente (id_cliente,nombre_cliente,email,direccion) VALUES ("3","Enrique","enrique@hormail.com","calle50#39 c");

INSERT INTO cliente (id_cliente,nombre_cliente,email,direccion) VALUES ("4","Alonso","lonso@hormail.com","calle50#31 v");

INSERT INTO cliente (id_cliente,nombre_cliente,email,direccion) VALUES ("5","Gerardo","grardo@hormail.com","calle50#38 a");

INSERT INTO cliente (id_cliente,nombre_cliente,email,direccion) VALUES ("6","Roberto","roberto@hormail.com","calle50#40 a");

INSERT INTO cliente (id_cliente,nombre_cliente,email,direccion) VALUES ("7","Hernan","nando@hormail.com","calle50#60 b");

INSERT INTO Transacciones (id_cliente,id_articulo,id_transaccion,fechatransaccion) VALUES ("7","3","1","2012-02-15");

INSERT INTO Transacciones (id_cliente,id_articulo,id_transaccion,fechatransaccion) VALUES ("1","1","2","2012-02-10");

INSERT INTO Transacciones (id_cliente,id_articulo,id_transaccion,fechatransaccion) VALUES ("3","5","3","2012-02-2");

INSERT INTO Transacciones (id_cliente,id_articulo,id_transaccion,fechatransaccion) VALUES ("5","4","4","2012-02-5");

INSERT INTO Transacciones (id_cliente,id_articulo,id_transaccion,fechatransaccion) VALUES ("6","2","5","2012-02-7");

INSERT INTO Transacciones (id_cliente,id_articulo,id_transaccion,fechatransaccion) VALUES ("2","8","6","2012-02-16");

INSERT INTO Transacciones (id_cliente,id_articulo,id_transaccion,fechatransaccion) VALUES ("4","7","7","2012-02-20");

INSERT INTO empleado (id_empleado,nombre,fecha_ingreso,salario) VALUES ("1","Raul Perez","2010-01-04","600000");


INSERT INTO empleado (id_empleado,nombre,fecha_ingreso,salario) VALUES ("2","ana gomez","2010-08-24","800000");


INSERT INTO empleado (id_empleado,nombre,fecha_ingreso,salario) VALUES ("3","Esteban lopez","2009-01-25","650000");


INSERT INTO empleado (id_empleado,nombre,fecha_ingreso,salario) VALUES ("4","cristina goez","2010-10-11","640000");


INSERT INTO empleado (id_empleado,nombre,fecha_ingreso,salario) VALUES ("5","arnauldo rios","2011-11-12","680000");



Codigo Base de Datos


CREATE DATABASE Bodega;

USE Bodega;

CREATE table Tipo(
id_tipo INT(20) not null auto_increment PRIMARY KEY,
descripcion varchar(45)
);

CREATE table articulo(
id_articulo VARCHAR(20)not null PRIMARY KEY,
id_tipo INT(20)not NULL ,
nombre varchar(40)not NULL,
FOREIGN KEY articulo(id_tipo) REFERENCES tipo(id_tipo)
);


CREATE table transacciones(
id_cliente VARCHAR(20)not null ,
id_articulo VARCHAR(20) NOT NULL,
id_transaccion VARCHAR(20) not null PRIMARY key,
fecha_transaccion Date,
FOREIGN KEY transacciones(id_articulo) REFERENCES articulo(id_articulo),
);

CREATE table empleado(
id_empleado VARCHAR(20)not null PRIMARY key,
nombre VARCHAR(20) NOT NULL,
 fecha_ingreso date  ,
salario int (20) not null
);

CREATE table cliente(
id_cliente VARCHAR(20)not null PRIMARY KEY,
nombre_cliente varchar(10)not NULL,
fecha_cumpleanos DATE ,
email VARCHAR(20),
direccion VARCHAR(20)
);

domingo, 5 de febrero de 2012