SQL - Instrucción SELECT
Download
Report
Transcript SQL - Instrucción SELECT
S.Q.L.
(Lenguaje de Consulta Estructurada)
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Consultas
SQL tiene una instrucción básica para
obtener información de una base de
datos:
la instrucción SELECT (seleccionar).
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
Básicamente la instrucción
consta de tres cláusulas:
SELECT <lista de atributos>
FROM <lista de tablas>
[ WHERE <condición> ]
[ GROUP BY <lista de atributos> ]
[ HAVING
<lista de atributos> ]
[ ORDER BY <lista de atributos> ]
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
<lista de atributos>
Es la lista que contiene los
nombres de los atributos que se
quieren consultar.
Los atributos se van a desplegar
en el orden en que aparecen en la
lista.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
<lista de atributos>
Para desplegar cada atributo se
utiliza una atributo distinta.
En la cabecera de la columna
aparecerá el nombre del atributo.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
<lista de atributos>
Ejemplos:
atributo
atr1, atr2, atr3, atr4
*
nom_tabla.atributo
nom_tabla.*
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
<lista de atributos>
Ejemplos:
expresión:
expresión
constante
operadores aritméticos
atributo
función
constantes
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
<lista de tablas>
es la lista que contiene los
nombres de las tablas que estan
vinculadas en la consulta.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
<condición>
es una expresión condicional
(booleana).
Las tuplas o filas que cumplan
con esta condición serán el
resultado de la consulta.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
<condición>
Expr1 operador Expr2
atributo
Constante
Operador Lógico
Operador Relacional
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L
Instrucción Select
Básico
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 1:
Obtener los nombres de los
jugadores:
APELLIDO ‘Delgado’.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 1:
SELECT NOM
FROM JUGADORES
WHERE APE = ‘Delgado’
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 1:
NOM
Cesar
Agustin
Javier
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 2.a:
Obtener el peso y altura del
jugador de:
NOMBRE ‘Frankie’
APELLIDO ‘Oviedo’
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 2.a:
SELECT PESO, ALTURA
FROM JUGADORES
WHERE NOM = ‘Frankie’
AND APE = ‘Oviedo’
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 2.a:
PESO
94,1
ALTURA
1,99
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 3:
Obtener los nombres de todos
los jugadores cuya altura sea
menor a 1,8 mts.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 3:
SELECT NOM, APE
FROM JUGADORES
WHERE ALTURA < 1.8
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 3:
NOM
Cesar
Ronald
Lorgio
Roberto Carlos
...
APE
Delgado
Raldes
Alvarez
...
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
Si se omite la claúsula WHERE, se
despliegan todas las filas de las
tablas indicadas en la claúsula
FROM.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 4:
SELECT NOM, APE
FROM JUGADORES
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 4:
NOM
Ruberth
Carlos
Cesar
Mauricio
...
APE
Moran
Bueno
Delgado
Pinilla
...
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
*
Indica que se van a
seleccionar todos los atributos
de una tabla o de las tablas
vinculadas en la consulta.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 5:
Mostrar todos los datos de las
Selecciones.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 5:
Mostrar todos los datos de las
Selecciones.
SELECT *
FROM
SELECCIONES
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 5:
ID
1
2
3
4
...
NOM
Argentina
Bolivia
Brasil
Chile
...
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
DISTINCT
SQL no trata a las TABLAS como
conjuntos,
puede
haber
filas
repetidas en una tabla o en el
resultado de una consulta.
SQL no elimina las filas repetidas
por si solo, sino hay que indicarle
que lo haga.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
DISTINCT
Para indicar que no tome en cuenta
valores de filas repetidas hay que
utilizar la instrucción DISTINCT.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
DISTINCT
Para indicar que no tome en cuenta
valores de filas repetidas hay que
utilizar la instrucción DISTINCT.
SELECT DISTINCT ATRIBUTO
FROM NOMBRE_TABLA
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 6.a:
Mostrar todas las alturas de los
jugadores:
SELECT ALTURA
FROM JUGADORES
En el caso que existan dos o más
jugadores de igual altura, aparecerán
igual, en el resultado de la consulta.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 6.a:
ALTURA
1,95
1,96
1,76
1,96
...
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 6.b:
Mostrar todas las alturas de los
jugadores:
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 6.b:
Mostrar todas las alturas de los
jugadores:
SELECT DISTINCT ALTURA
FROM JUGADORES
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 6.b:
ALTURA
1,95
1,96
1,76
1,68
...
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
Uso de seudónimos
Se pueden renombrar los nombres
de las cabeceras de las atributos
resultantes de la consulta.
Se coloca el seudónimo a la derecha
de cada atributo en la claúsula
SELECT.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 2.b:
Obtener el PESO y ALTURA
del jugador de:
NOMBRE ‘Frankie’
APELLIDO ‘Oviedo’
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 2.b:
SELECT PESO PESO,
ALTURA ALTURA
FROM JUGADORES
WHERE NOM = ‘Frankie’
AND APE = ‘Oviedo’
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 2.b:
PESO
94,1
ALTURA
1,99
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
Uso de seudónimos
Generalmente se usa para renombrar
las atributos resultantes del uso de
funciones agregadas, como ser:
MAX (expr), máximo.
MIN (expr), mínimo.
SUM (expr), sumatoria.
AVG (expr), promedio.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
Otros operadores
atributo [NOT] IN (lista valores)
atributo [NOT] BETWEEN
V1 AND V2
atributo IS [NOT] NULL
atributo [NOT] LIKE ‘Patron’
% , ?
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 7.a:
Mostrar los nombres de los
jugadores que juegan el la posición
de ‘Arquero’ o ‘Defensa’
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 7.a:
Mostrar los nombres de los
jugadores que juegan el la posición
de ‘Arquero’ o ‘Defensa’
SELECT NOM, APE
FROM JUGADORES
WHERE POSICION IN
(‘Arquero’, ‘Defensa’)
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 7.a:
NOM
Ruberth
Juan Pablo
Cafu
Mauricio
...
APE
Moran
Sorin
Pinilla
...
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 7.b:
Mostrar los nombres de los
jugadores que su altura este entre
1,8m y 1,9m .
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 7.b:
Mostrar los nombres de los
jugadores que su altura este entre
1,8m y 1,9m .
SELECT NOM, APE
FROM JUGADORES
WHERE ALTURA BETWEEN
1.8 AND 1.9
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 7.b:
NOM
Andres
Leonardo
Luis
Luis Hector
...
APE
D Alessandro
Fernandez
Ribeiro
Cristaldo
...
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 7.c:
Mostrar los nombres de los
jugadores que su apellido comience
con los caracteres ‘Ca’
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 7.c:
Mostrar los nombres de los
jugadores que su apellido comience
con los caracteres ‘Ca’
SELECT NOM, APE
FROM JUGADORES
WHERE APE LIKE
‘Ca%’
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 7.c:
NOM
Jose Alfredo
Miguel
...
APE
Cavallero
Castillo
Calero
Caniza
...
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L
Funciones Agregadas
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
Funciones Agregadas
Estas cinco (sum, count,
min, max, avg) funciones
trabajan sobre un grupo de
tuplas de igual tipo.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
Funciones Agregadas
Se agrupa la información
tomando en cuenta:
expr
la(s) tabla(s) en: FROM ...
la condición en: WHERE...
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
Funciones Agregadas
Luego se ejecuta la función
sobre los grupos de tuplas o filas.
Por último, se despliega el
resultado de la función, para el o
los grupos resultantes.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
Funciones Agregadas
No se puede utilizar estas
funciones conjuntamente con
atributos que no pertenezcan o
que no esten relacionados con el
grupo que se está agregando.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
MAX ([DISTINCT|ALL] expr)
Calcula el máximo valor del grupo
de expresiones expr.
DISTINCT
Elimina valores repetidos
ALL
Toma en cuenta todos los valores.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 8:
Mostrar la máxima altura de todos
los jugadores:
SELECT
FROM
MAX ( ALTURA) Maximo
JUGADORES
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 8:
Maximo
70
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
MIN ([DISTINCT|ALL] expr)
Calcula el valor mínimo del grupo de
expresiones expr.
DISTINCT
Elimina valores repetidos
ALL
Toma en cuenta todos los valores.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 9:
Mostrar el menor peso de todos los
jugadores:
SELECT
FROM
MIN ( PESO) Menor Peso
JUGADORES
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 9:
Menor Peso
70
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 10:
Mostrar la menor altura de todos los
jugadores:
SELECT MIN( ALTURA ) Altura Minima
FROM JUGADORES
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 10:
Altura Minima
1.50
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
SUM ([DISTINCT|ALL] N)
Calcula la sumatoria del grupo de
valores N (expresión numérica).
DISTINCT
Elimina valores repetidos
ALL
Toma en cuenta todos los valores.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 11.a:
Mostrar el total de los SUELDOS de
todos los jugadores:
SELECT
FROM
SUM ( SUELDO ) Total Sueldos
JUGADORES
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 11.a:
Total Sueldos
113894,1
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 11.b:
Mostrar el total de los SUELDOS
DISTINTOS de todos
los
jugadores:
SELECT
FROM
SUM ( DISTINCT SUELDO )
Total Sueldos Distintos
JUGADORES
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 11.b:
Total Sueldos Distintos
9323.5
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
AVG ([DISTINCT|ALL] N)
Calcula el promedio del grupo de
valores N (expresión numérica).
DISTINCT
Elimina valores repetidos
ALL
Toma en cuenta todos los valores.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 12:
Mostrar el promedio de todos sueldos
de todos los jugadores:
SELECT AVG ( SUELDO )
Promedio Sueldos
FROM JUGADORES
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 12:
Promedio Sueldos
769,55
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 13:
Mostrar el promedio de los sueldos de
los jugadores:
SELECT AVG ( DISTINCT SUELDO)
Promedio Sueldos Distintos
FROM
JUGADORES
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 13:
Promedio Sueldos Distintos
767,17
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
COUNT ({*|[DISTINCT|ALL] expr })
Calcula el promedio del conjunto de
valores N.
*
Count retorna la cantidad de filas de la
tabla.
DISTINCT
Elimina valores repetidos
ALL
Toma en cuenta todos los valores.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 14:
Mostrar la cantidad de selecciones:
SELECT COUNT (ID) Cantidad
FROM SELECCIONES
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 14:
Cantidad
10
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 15:
Mostrar la cantidad de sueldos
distintos que se pagan a los
jugadores:
SELECT COUNT ( DISTINCT SUELDO )
Sueldos Distintos
FROM JUGADORES
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 15:
Sueldos Distintos
10
El sueldo es el mismo para todos los
jugadores de la misma selección.
Igual a la cantidad de selecciones.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L
Instrucción Select
TIPOS de JOIN (unión)
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
Producto Cartesiano
Por lo menos dos tablas
vinculadas en el producto.
El resultado de la consulta es la
combinación de todas las tuplas
de las dos tablas, que cumplan con
la condición WHERE.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 16.a:
Mostrar el nombre de todos los
jugadores conjuntamente con la
selección a la que pertenecen:
SELECT S.NOM Seleccion,
J.NOM
Nombre
FROM JUGADORES J, SELECCIONES S
WHERE SEL_ID = S.ID
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 16.a:
Seleccion
Argentina
Uruguay
Bolivia
Brasil
...
Nombre
Cristian
Alejandro
Luis
Rivaldo
...
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 16.b:
Mostrar el nombre de todos los
jugadores de la selección Uruguay:
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 16.b:
Mostrar el nombre de todos los
jugadores de la selección Uruguay:
SELECT J.NOM Nombre
FROM JUGADORES J, SELECCIONES S
WHERE SEL_ID = S.ID
AND NOM = ‘Uruguay’
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 16.b:
Nombre
Gustavo
Alejandro
Marcelo
Daniel
...
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
Compatibles
Dos tablas o consultas T1 y T2
son compatibles cuando:
tienen la misma cantidad de
atributos.
se corresponden los dominios en el
mismo orden.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
Para los siguientes tipos de
consultas relacionales, las tablas
vinculadas
deben
ser
COMPATIBLES.
Unión
Intersección
Diferencia
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
Unión
El número de filas en la consulta
va ser igual a la suma de las filas
de cada tabla o consulta.
Las tablas deben ser compatibles.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 17:
Mostrar el nombre de todos las
personas vinculadas a la selección
‘Uruguay’:
Jugadores
Director Técnico.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 17:
SELECT S.NOM Seleccion, J.NOM Nombre
FROM JUGADORES J, SELECCIONES S
WHERE SEL_ID = S.ID
AND NOM = ‘Uruguay’
UNION ( SELECT S.NOM, D.NOM
FROM
DTS D, SELECCIONES S
WHERE D.SEL_ID = S.ID
AND S.NOM = ‘Uruguay’ )
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 17:
Seleccion
Uruguay
Uruguay
...
Uruguay
...
Nombre
Adrian
Alejandro
...
Jorge
...
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
Intersección
El número de filas de la consulta
va ser igual a la cantidad de las
filas iguales en ambas tablas o
consultas.
Las tablas deben ser compatibles.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 18:
Mostrar el nombre de los jugadores
de la selección Uruguay que han
anotado algún gol.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 18:
SELECT J.NOM Nombre, APE Apellido
FROM JUGADORES J, SELECCIONES S
WHERE SEL_ID = S.ID
AND S.NOM = ‘Uruguay’
AND J.ID
IN ( SELECT JUG_ID
FROM GOLES)
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 18:
Nombre
Nelson
Diego
Javier
Carlos
Adrian
Apellido
Abeijon
Forlan
Chevanton
Bueno
Romero
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
Diferencia
El número de filas de la consulta
va ser igual a la cantidad de filas
no incluidas en la otra tabla o
consulta.
Las tablas deben ser compatibles.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 19:
Mostrar el nombre de los jugadores
de la selección Uruguay que NO han
anotado ningún gol.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 19:
SELECT J.NOM Nombre, APE Apellido
FROM JUGADORES J, SELECCIONES S
WHERE SEL_ID = S.ID
AND NOM = ‘Uruguay’
AND JUG_ID
NOT IN ( SELECT JUG_ID
FROM GOLES)
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 19:
Nombre
Gustavo
Alejandro
Marcelo
Alvaro
...
Apellido
Munua
Lembo
de Souza
Recoba
...
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
Subconsultas
WHERE atributo [NOT] IN ...
Intersección [Diferencia]
WHERE atributo
[ALL|SOME|ANY]
...
WHERE [NOT] EXISTS ...
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
Subconsultas
WHERE atributo op_rel [ALL|SOME|ANY]
(subcosulta)
Se ejecuta la subconsulta y luego la
consulta para aquellas tuplas que
cumplan con la condición.
WHERE atributo > ALL (subconsulta)
el valor de la atributo es mayor que
todos los valores de la subconsulta.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 20:
Mostrar el nombre y el apellido de los
Atacante de la selección Uruguay que
perciban un sueldo MAYOR que TODOS
los Atacante de las otras selecciones.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 20:
SELECT J.NOM Nombre, APE Apellido
FROM JUGADORES J, SELECCIONES S
WHERE SEL_ID = S.ID
AND S.NOM = ‘Uruguay’
AND POSISICION = ‘Atacante’
AND SUELDO > ALL
( SELECT SUELDO
FROM JUGADORES, SELECCIONES S
WHERE POSICION = ‘Atacante’
AND SEL_ID = S.ID
AND S.NOM != ‘Uruguay’)
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 20:
Para que esta consulta tenga
resultados se debe modificar
alguno de los sueldos de los
atacantes de la selección
uruguaya.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
Subconsultas
WHERE atributo op_rel [ALL|SOME|ANY]
(subcosulta)
WHERE atributo > SOME (subconsulta)
el valor de el atributo es mayor que
algunos (más de dos) de los valores
de la subconsulta.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 21:
Mostrar el nombre y el apellido de los
Atacante de la selección Uruguay que
perciban un sueldo MAYOR que
ALGUNOS de los Atacante de las otras
selecciones.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 21:
SELECT S.NOM Nombre, APE Apellido
FROM JUGADORES J, SELECCIONES S
WHERE SEL_ID = S.ID
AND NOM = ‘Uruguay’
AND POSICION = ‘Atacante’
AND SUELDO > SOME
( SELECT SUELDO
FROM JUGADORES, SELECCIONES S
WHERE POSICION = ‘Atacante’
AND SEL_ID = S.ID
AND S.NOM != ‘Uruguay’)
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
Subconsultas
WHERE atributo op_rel [ALL|SOME|ANY]
(subcosulta)
WHERE atributo > ANY (subconsulta)
el valor de la atributo es mayor que
uno de los valores de la subconsulta.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 22:
Mostrar el nombre y el apellido de los
Atacante de la selección Uruguay que
perciban un sueldo MAYOR que ALGUNO
de los Atacante de las otras selecciones.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 22:
SELECT J.NOM Nombre, APE Apellido
FROM JUGADORES J, SELECCIONES S
WHERE SEL_ID = S.ID
AND NOM = ‘Uruguay’
AND SEL_POS = ‘Atacante’
AND SUELDO > ANY
( SELECT SUELDO
FROM JUGADORES J, SELECCIONES S
WHERE POSICION = ‘Atacante’
AND SEL_ID = S.ID
AND S.NOM != ‘Uruguay’)
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
Subconsultas
WHERE EXISTS (subconsulta)
Cuando existan tuplas resultantes
de la subconsulta.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
Subconsultas
WHERE NOT EXISTS
(subconsulta)
Cuando no existan tuplas
resultantes de la subconsulta.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior