jueves, 30 de abril de 2015

Uso de Join SQL Server - Ejercicios con combinaciones internas y externas



1) Realizar una consulta que muestre los nombres de los autores y editores ubicados en la misma ciudad

USE PUBS
SELECT A.AU_FNAME AS [NOMBRE]
,A.AU_LNAME AS [APELLIDO]
,P.PUB_NAME AS [EDITOR]
FROM AUTHORS AS A
INNER JOIN PUBLISHERS AS P
ON
A.CITY = P.CITY


2) Obtener todos los nombres y editores de todos los libros cuyos anticipos pagados son superiores a 7500

USE PUBS
SELECT T.TITLE AS [TITULO]
,P.PUB_NAME AS [EDITOR]
,T.ADVANCE AS [ANTICIPO]
FROM TITLES AS T
INNER JOIN PUBLISHERS AS P
ON
T.PUB_ID=P.PUB_ID
WHERE
T.ADVANCE>7500


3) Seleccionar todos los titulos, nombre y apellidos del autor de todos los libros de cocina tradicional.

SELECT A.AU_LNAME AS [NOMBRE]
,A.AU_FNAME AS [APELLIDO]
,T.TITLE AS [TITULO]
FROM AUTHORS AS A
INNER JOIN TITLEAUTHOR AS TA
ON
A.AU_ID=TA.AU_ID
INNER JOIN TITLES AS T
ON
TA.TITLE_ID=T.TITLE_ID
WHERE T.TYPE= 'TRAD_COOK'


4) Seleccione nombre, apellido de los autores y el nombre de la editorial de todos aquellos escritores cuya ciudad sea la misma que la de la editorial. Pero en la consulta también se incluirán los demás autores de la tabla authors 

SELECT A.AU_LNAME AS [NOMBRE]
,A.AU_FNAME AS [APELLIDO]
,P.PUB_NAME AS [EDITOR]
FROM AUTHORS AS A
LEFT JOIN PUBLISHERS AS P
ON
A.CITY=P.CITY


5) Recuperar los títulos y el índice del almacén de todos los libros que vendieron más de 25 unidades.

SELECT S.STOR_ID AS [ALMACEN ID]
,T.TITLE AS [TITULO]
FROM TITLES AS T
INNER JOIN SALES AS S
ON
T.TITLE_ID = S.TITLE_ID
WHERE
S.QTY>25


6) Modificación al ejercicio anterior: incluir también los títulos de aquellos libros que no superaron las 25 unidades en sus ventas

SELECT S.STOR_ID AS [ALMACEN ID]
,T.TITLE AS [TITULO]
FROM TITLES AS T
LEFT JOIN SALES AS S
ON
T.TITLE_ID = S.TITLE_ID AND S.QTY>25


7) Realizar una consulta que devuelva el titulo, editorial y autor de cada libro.

SELECT T.TITLE AS [TITULO]
,A.AU_LNAME AS [AUTOR]
,P.PUB_NAME AS [EDITOR]
FROM PUBLISHERS AS P
INNER JOIN TITLES AS T
ON
T.PUB_ID = P.PUB_ID
INNER JOIN TITLEAUTHOR AS TA
ON
TA.TITLE_ID = T.TITLE_ID
INNER JOIN AUTHORS AS A
ON
TA.AU_ID = A.AU_ID

Espero haber ayudado en algo. Hasta la próxima oportunidad!







2 comentarios:

  1. Amiguito ese NULL que te aparece en los campos vacíos solucionalo en las consultas poniendo el isnull para que se vizualize 0 en lugar de NULL para que se vea presentable !!

    ResponderEliminar
    Respuestas
    1. Hola CompuBinario by Michell A.C., gracias por la visita y el aporte de tus conocimientos!!
      Tienes toda la razón. En ejemplo posteriores implementaremos el ISNULL. Espero nos sigas!!
      Éxitos!! Hasta cualquier instante!

      Eliminar