82 - Unión |
Un supermercado almacena en una tabla denominada "proveedores" los datos de las compañías que le proveen de mercaderías; en una tabla llamada "clientes", los datos de los comercios que le compran y en otra tabla "empleados" los datos de los empleados. 1- Elimine las tablas si existen: if object_id('clientes') is not null drop table clientes; if object_id('proveedores') is not null drop table proveedores; if object_id('empleados') is not null drop table empleados; 2- Cree las tablas: create table proveedores( codigo int identity, nombre varchar (30), domicilio varchar(30), primary key(codigo) ); create table clientes( codigo int identity, nombre varchar (30), domicilio varchar(30), primary key(codigo) ); create table empleados( documento char(8) not null, nombre varchar(20), apellido varchar(20), domicilio varchar(30), primary key(documento) ); 3- Ingrese algunos registros: insert into proveedores values('Bebida cola','Colon 123'); insert into proveedores values('Carnes Unica','Caseros 222'); insert into proveedores values('Lacteos Blanca','San Martin 987'); insert into clientes values('Supermercado Lopez','Avellaneda 34'); insert into clientes values('Almacen Anita','Colon 987'); insert into clientes values('Garcia Juan','Sucre 345'); insert into empleados values('23333333','Federico','Lopez','Colon 987'); insert into empleados values('28888888','Ana','Marquez','Sucre 333'); insert into empleados values('30111111','Luis','Perez','Caseros 956'); 4- El supermercado quiere enviar una tarjeta de salutación a todos los proveedores, clientes y empleados y necesita el nombre y domicilio de todos ellos. Emplee el operador "union" para obtener dicha información de las tres tablas. 5- Agregue una columna con un literal para indicar si es un proveedor, un cliente o un empleado y ordene por dicha columna.Ver solución
if object_id('clientes') is not null drop table clientes; if object_id('proveedores') is not null drop table proveedores; if object_id('empleados') is not null drop table empleados; create table proveedores( codigo int identity, nombre varchar (30), domicilio varchar(30), primary key(codigo) ); create table clientes( codigo int identity, nombre varchar (30), domicilio varchar(30), primary key(codigo) ); create table empleados( documento char(8) not null, nombre varchar(20), apellido varchar(20), domicilio varchar(30), primary key(documento) ); insert into proveedores values('Bebida cola','Colon 123'); insert into proveedores values('Carnes Unica','Caseros 222'); insert into proveedores values('Lacteos Blanca','San Martin 987'); insert into clientes values('Supermercado Lopez','Avellaneda 34'); insert into clientes values('Almacen Anita','Colon 987'); insert into clientes values('Garcia Juan','Sucre 345'); insert into empleados values('23333333','Federico','Lopez','Colon 987'); insert into empleados values('28888888','Ana','Marquez','Sucre 333'); insert into empleados values('30111111','Luis','Perez','Caseros 956'); select nombre, domicilio from proveedores union select nombre, domicilio from clientes union select (apellido+' '+nombre), domicilio from empleados; select nombre, domicilio, 'proveedor' as categoria from proveedores union select nombre, domicilio, 'cliente' from clientes union select (apellido+' '+nombre), domicilio , 'empleado' from empleados order by categoria;