Sei sulla pagina 1di 11

UNIVERSIDAD DEL CARIBE

Ingeniera en Telemtica

BASE DE DATOS CLIENTE / SERVIDOR 01

Combinar datos de distintas tablas

090300083 LIZARRAGA HERNANDEZ RIGOBERTO dexter_370@hotmail.com 9982155101 090300051 HIPOLITO CHI KATTY EVANGELINA katty_hipolito@hotmail.com 9981883602 0903000118 CANDIANI VLEZ JULIAN ANTONIO 5.jacv.8@gmail.com 050300264 DE JESUS CASTAEDA MOISES moshe0903@hotmail.com 9981172790

PROFESOR: M. en C. ANIL GMEZ PANTOJA.

Cancn Quintana Roo 26 de marzo de 20112

Introduccin Las combinaciones permiten recuperar datos de dos o ms tablas segn las relaciones lgicas entre ellas. Las combinaciones indican cmo debe usar Microsoft SQL Server los datos de una tabla para seleccionar las filas de otra tabla. Una condicin de combinacin define la forma en la que dos tablas se relacionan en una consulta al:

Especificar la columna de cada tabla que debe usarse para la combinacin. Una condicin de combinacin tpica especifica una clave externa de una tabla y su clave asociada en otra tabla. Especificar un operador lgico (por ejemplo, = o <>) para usarlo en los valores de comparacin de las columnas.

Las combinaciones internas se pueden especificar en las clusulas FROM o WHERE. Las combinaciones externas slo se pueden especificar en la clusula FROM. Las condiciones de combinacin se combinan con las condiciones de bsqueda de WHERE y HAVING para controlar cules son las filas seleccionadas de las tablas base a las que se hace referencia en la clusula FROM. Especifican las condiciones de la combinacin en la clusula FROM ayuda a separarlas de cualquier otra condicin de bsqueda que se pueda especificar en una clusula WHERE; es el mtodo recomendado para especificar combinaciones.

OBJETIVO GENERAL Aprender y poner en practica sobre como recuperar informacin de una base de datos mediante consultas combinadas las cuales nos permitirn recolectar mas informacin que se encuentra dispersa en nuestra base de datos ,esta practica la podremos tener utilizando los ejemplos contenidos en el documento y aplicndolas en sql server utilizando nuestras bases de datos previamente instaladas como northwind

Ejemplo 1 (sin ningn alias) El ejemplo de la prctica es:


Use joindb Select buyer_name, sales.buyer_id, qty FROM buyers INNER JOIN sales ON buyers.buyer_id= sales.buyer_id GO

Pero no tenemos la base de datos joindb y utilizamos la base de datos Pubs

RESULTADO Une las tablas title y titleauthor, y muestra tods title ,au_id y type y no utiliza alias Ejemplo 2 (utilizando alias)
Use joindb Select buyer_name, s.buyer_id, qty FROM buyers AS b INNER JOIN sales AS s ON b.buyer_id= s.buyer_id GO

Pero no tenemos la base de datos joindb y utilizamos la base de datos Pubs

RESULTADO Une las tablas publishers y pub_info, y muestra todos los pub_name ,pr_info y city y para utiliza alias La palabra reservada es AS

Ejemplo 1 El ejemplo de la prctica es:


Use joindb Select buyer_name, sales.buyer_id, qty FROM buyers INNER JOIN sales ON buyers.buyer_id= sales.buyer_id GO

Pero no tenemos la base de datos joindb y utilizamos la base de datos Pubs y modificamos los atributos y las tablas

RESULTADO Une las tablas stores y sales, y muestra stor_name, ord_num y qty Ejemplo 2
use Northwind select companyname, productname from Products inner join Suppliers on Products.SupplierID= Suppliers.SupplierID go

se ultizo la misma base de la practica

RESULTADO Une las tablas productos y suppliers, y muestra productname, companyname. Nos da en el nombre del producto mesa por que fue modificado en una de las precticas

Ejemplo 3
select DISTINCT companyname, orderdate from Orders inner join Customers on Orders.CustomerID = Customers.CustomerID where OrderDate> '1/1/98' go

se ultizo la misma base de la practica

RESULTADO Une las tablas companyname y orderdate, y muestra lo que tiene companynam, orderdate cuando orderdate es > 1/1/98 Ejemplo 4
Use library SELECT copy .title_no, loan.member_no FROM copy INNER JOIN loan ON copy .isbn_no =loan. Copy_isbn AND copy.copy_no = loan.copy_no WHERE copy.on_loan =Y GO

Pero no tenemos la base de datos library y utilizamos la base de datos Pubs y modificamos los atributos y las tablas

RESULTADO Une las tablas titles y publishers, y muestra lo que tiene en el atributo title_id y country Cuando title_id es igual a 4 Como no hay no nos aparece nada

Ejemplo1 Este ejemplo regresa los valores para todos los compradores y las compras que realizaron el buyer_name , buyer_id y qty ,notese que los compradores que no hicieron alguna compra estn listados en el set de resultado pero aparece un valor nulo en el buyer id y en la columna qty
USE joindb select buyer_name, sales.buyer_id, qty from buyers left outer join sales on buyers.buyer_id = sales.buyer_id go

Ejemplo 2

Este ejemplo despliega a todos los compradores con su fecha de orden ,usando el left outer join se recibe una fila por cada comprador y una fila adicional si el comprador a realizado mltiples rdenes y en la columna orden se coloca el valor nulo en caso de que el comprador no haya realizado una compra
USE Northwind select companyname,customers.customerid,order date from customers left outer join orders on customers.customerid=orders.customerid go

Ejemplo 3 Este ejemplo lista todas las posibles combinaciones de valores in las columnas buyers.buyer_name y sales.qty
USE joindb select buyer_name, qty from buyers cross join sales go

Ejemplo 4 Este ejemplo despliega un cross join entre las tablas shippers y suppliers esto es util para listar, todos las posibles maneras que un proveedor enva sus productos, Cross join despliega todas las posibles combinaciones de filas
use northwind select suppliers.companyname,shippers.companyname from suppliers cross join shippers go

Ejemplo 5 Este ejemplo regresa el nombre del vendedor, nombre del producto and qty y las columnas de buyers, sales y la tabla de productos
use joindb select buyer_name,prod_name,qty from buyers inner join sales on buyers.buyer_id=sales.buyer_id inner join produce on sales.prod_id =produce.prod_id go

Ejemplo 6 Este ejemplo despliega informacin de las tablas rdenes y productos, usando los detalles de las rdenes como un vnculo
use northwind select orderdate, productname from orders as O inner join [order details] as OD ON O.orderid = OD.orderid inner join products as P on OD.productid=P.productid where orderdate='7/8/96' go

Modulo 5: Joining Multiple Tables (Pag. 15) Ejercicio 1(Pag. 15) Tabla Sales Consulta

En ejemplo se muestra en la parte de arriba, se muestra una lista de todos los compradores que han comprado los mismos productos.

Ejercicio 2 (Pag. 16) Tabla Sales Consulta

El muestra una lista de todos los compradores que compraron los mismos productos, pero elimina las filas duplicadas.

Ejercicio 3 (Pag.16) Tabla Sales Consulta

En este ejemplo se muestra una lista de todos los compradores que compraron los mismos productos. Observe que cuando la clusula WHERE incluye el mayor que (>) del operador, todas las filas duplicadas se eliminan.

Ejercicio 4 (Pag. 17) Consulta Resultado

Este ejemplo muestra los pares de empleados que tienen el mismo cargo. Cuando la clusula WHERE incluye el menor que (<) del operador, las filas que concuerdan consigo mismos, y las filas duplicadas se eliminan.

Combining multiple Result Sets En este ejercicio se combina dos sentencias SELECT en un nico conjunto de resultado mediante el operador UNION. Ejercicio1 (Pag. 19) Resultado Este ejemplo combina dos conjuntos de resultados. El primer conjunto de resultados devuelve el nombre, ciudad y cdigo postal de cada cliente de la tabla clientes. El segundo conjunto de resultados devuelve el nombre, ciudad y cdigo postal de cada empleado de la tabla empleados.

Cuando se utiliza el operador UNION para combinar estos conjuntos de resultados, note que el alias de columna de la primera lista de seleccin se devuelve.

Conclusiones Con este ejercicio grupal se llego al reforzamiento del uso de los comando, s que emplean para la creacin de consultas en Microsoft SQL Server 2008. Adems de llegar a un entendimiento en el uso de palabras reservadas para poder discriminar ciertos valores y solo mostrar lo que el usuario necesita para realizar su labor.