Vous êtes sur la page 1sur 4

Universidad Nacional Jorge Basadre Grohman Bases de Datos y Sistemas Distribuidos

Escuela de Ing. En Informtica y Sistemas Docente: Ing. Edwin Ramos Velsquez/Ing. Edgar Taya

PRACTICA 06
CONSULTAS AVANZADAS EN SQL SERVER:
CONSULTAS DE INCLUSION Y COMBINACIONES EXTERNAS

OBJETIVOS
El alumno podr realizar consultas de inclusin y combinaciones externas.

METODOLOGA
El alumno ejecutar las consultas SQL Server desde el mismo Analizador de consultas SQL
(abierto desde el Administrador Corporativo de SQL Server).

CONOCIMIENTOS PREVIOS
El lector tiene conocimientos previos acerca de la sintaxis de creacin de procedimientos
almacenados

Ciudad Alumno Categoria


IDCiudad: int IDAlumno: int IDCategoria: int
Ciudad: varchar(50) Nombre: varchar(30) Categoria: varchar(30)
Region: varchar(50) Apellido: varchar(30)
Sexo: smallint
IDCiudad: int
IDCategoria: int

SECCION 01: INSTRUCCIN DE INCLUSION IN


La palabra clave IN permite seleccionar las filas que coinciden con alguno de los valores de una lista.
Por ejemplo, sin IN, si desea obtener una lista de productos de la subcategora Frames, debe
generar esta consulta:

1. Se desea conocer las ciudades en donde existe por lo menos un Alumno


SELECT IDCiudad, Ciudad
FROM Ciudad C
WHERE IDCiudad IN (SELECT IDCiudad FROM Alumno)
ORDER BY IDCiudad

IDCiudad Ciudad
----------- ---------------
1 Tacna
2 Puno
3 Arequipa
4 Moquegua
5 Ica
6 Lima

(6 filas afectadas)

2. Se desea conocer las ciudades en donde no existe alumno alguno


SELECT IDCiudad, Ciudad
FROM Ciudad C
WHERE IDCiudad NOT IN (SELECT IDCiudad FROM Alumno)
ORDER BY IDCiudad

Practica preparada por: Ing. Edwin Ramos Velsquez Pgina 1 de 4


Universidad Nacional Jorge Basadre Grohman Bases de Datos y Sistemas Distribuidos
Escuela de Ing. En Informtica y Sistemas Docente: Ing. Edwin Ramos Velsquez/Ing. Edgar Taya

IDCiudad Ciudad
----------- ---------------
1 Tacna
2 Puno
3 Arequipa
4 Moquegua
5 Ica
6 Lima

(6 filas afectadas)

3. Se desea conocer las categoras para las que no existe alumno alguno
4. Presentar en pantalla una lista de ciudades en las que existe por lo menos un alumno que es
PESIMO
5. Presentar una Lista de Alumnos que no viven en Arequipa
6. Presentar una lista de ciudades donde viven los mejores estudiantes.

SECCION 02: COMBINACIONES EXTERNAS POR LA DERECHA E IZQUIERDA


(LEFT OUTER JOIN / RIGHT OUTER JOIN)
El operador Left Outer Join devuelve cada fila que cumple la combinacin de la primera entrada
(superior) con la segunda entrada (inferior). Tambin devuelve las filas de la primera entrada que no
tienen filas coincidentes en la segunda entrada. Las filas que no coinciden en la segunda entrada se
devuelven como valores NULL. Si no hay ningn predicado de combinacin en la columna
Argument, cada fila es una fila coincidente.

7. Se desea extraer un listado de todas las ciudades, donde se muestre a los alumnos que en esa
ciudad radiquen

SELECT DISTINCT C.IDCiudad, Ciudad, Nombre, Apellido FROM Ciudad C


LEFT OUTER JOIN Alumno A ON (C.IDCiudad = A.IDCiudad)
ORDER BY 3

IDCiudad Ciudad Nombre Apellido


----------- --------------------------------------------
7 Moyobamba NULL NULL
8 Lambayeque NULL NULL
9 Piura NULL NULL
10 Tarapoto NULL NULL

. . .
1 Tacna Juan Saldvar
1 Tacna Lucas Revoredo
5 Ica Luca Adrianzen
2 Puno Marcos Prez
2 Puno Nadia Morales

(25 filas afectadas)

8. Cul es el resultado de la ejecucin de la siguiente consulta?

SELECT Ciudad, IDAlumno, Apellido, Nombre


FROM Alumno A
RIGHT OUTER JOIN Ciudad C ON (A.IDCiudad=C.IDCiudad)
ORDER BY Apellido, Nombre

9. Se desea extraer un listado de todas las categoras, donde se muestre a los alumnos que
correspondan a esa categora

Practica preparada por: Ing. Edwin Ramos Velsquez Pgina 2 de 4


Universidad Nacional Jorge Basadre Grohman Bases de Datos y Sistemas Distribuidos
Escuela de Ing. En Informtica y Sistemas Docente: Ing. Edwin Ramos Velsquez/Ing. Edgar Taya

SELECT DISTINCT C.IDCiudad, ciudad, Nombre,Apellido FROM Ciudad C


LEFT OUTER JOIN Alumno A ON (C.IDCiudad = A.IDCiudad)
ORDER BY 3

IDCategoria Categoria Nombre Apellido


------------- ------------- ----------- ------------
5 Muy bueno NULL NULL
6 Excelente NULL NULL
7 Regular NULL NULL
8 Aceptable NULL NULL
1 Malo Angel Bueno
2 Muy Malo David Kleider
3 Psimo Francisco Marca
2 Muy Malo Jorge Huanca
4 Bueno Jos Luis Avellaneda
1 Malo Juan Saldvar
2 Muy Malo Lucas Revoredo
2 Muy Malo Luca Adrianzen
3 Psimo Marcos Prez
1 Malo Nadia Morales

(14 filas afectadas)

10. Cul es el resultado de la siguiente instruccin SQL?


SELECT DISTINCT C.IDCategoria, Categoria, Nombre,Apellido
FROM Alumno A
RIGHT OUTER JOIN Categoria C ON (A.IDCategoria = C.IDCategoria)
ORDER BY 3

SECCION 03: COMBINACIONES EXTERNAS COMPLETAS ( FULL OUTER JOIN )


Para retener la informacin que no coincida al incluir las filas no coincidentes en los resultados de
una combinacin, utilice una combinacin externa completa. SQL Server proporciona el operador de
combinacin externa completa, FULL OUTER JOIN, que incluye todas las filas de ambas tablas, con
independencia de que la otra tabla tenga o no un valor coincidente.
.
Puede incluir una clusula WHERE con una combinacin externa completa para devolver solamente
las filas donde no hay datos coincidentes entre las tablas. La siguiente consulta slo devuelve los
productos que no tienen pedidos de venta que coincidan, as como los pedidos de venta que no
coinciden con ningn producto (aunque todos los pedidos de venta, en este caso, coincidan con un
producto).

11. Ejecutar la siguiente consulta, cul es el resultado?

SELECT DISTINCT C.IDCategoria, Categoria, Nombre, Apellido


FROM Alumno A
FULL OUTER JOIN Categoria C ON (A.IDCategoria = C.IDCategoria)
ORDER BY 3

TAREA
Presentar los resultados de esta prctica de laboratorio

Practica preparada por: Ing. Edwin Ramos Velsquez Pgina 3 de 4


Universidad Nacional Jorge Basadre Grohman Bases de Datos y Sistemas Distribuidos
Escuela de Ing. En Informtica y Sistemas Docente: Ing. Edwin Ramos Velsquez/Ing. Edgar Taya

CONTENIDO DE LAS TABLAS

Tabla: Ciudad

IDCiudad Ciudad Region


1 Puno Sur Oriente
2 Arequipa Sur Oriente
3 Moquegua Sur
4 Tacna Sur
5 Ica Sur
6 Lima Centro
7 Moyobamba San Martn
8 Lambayeque Norte
9 Piura Norte
10 Tarapoto San Martn
11 Pucallpa Ucayali
12 Tingo Mara San Martn
13 Cusco Centro
14 Tumbes Norte
15 Ayacucho Sur
16 Chimbote Norte Chico
17 Nazca Sur
18 Juli Sur Oriente
19 Juliaca Sur Oriente
20 Soritor San Martn
21 Madre de Dios Selva Sur

Tabla: Categora

IDCategoria Categoria
1 Malo
2 Muy Malo
3 Psimo
4 Bueno
5 Muy bueno
6 Excelente
7 Regular
8 Aceptable

Tabla: Alumno

IDAlumno Nombre Apellido Sexo IDCiudad IDCategoria


1 Juan Saldvar 1 1 1
2 Marcos Prez 1 2 3
3 Jos Luis Avellaneda 1 3 4
4 Nadia Morales 0 2 1
5 Luca Adrianzn 0 5 2
6 Angel Bueno 1 6 1
7 David Kleider 1 4 2
8 Jorge Huanca 1 2 2
9 Francisco Marca 1 2 3
10 Lucas Revoredo 1 1 2

Practica preparada por: Ing. Edwin Ramos Velsquez Pgina 4 de 4

Vous aimerez peut-être aussi