Post on 22-Jan-2016
description
transcript
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L.S.Q.L. (Lenguaje de Consulta Estructurada)(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 SELECTSELECT (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:SELECTSELECT <lista de atributos>
FROMFROM <lista de tablas>[ WHEREWHERE <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><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><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><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><lista de atributos>Ejemplos:
expresión: expresión constante operadores
aritméticos atributo
funciónconstantes
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
<lista de tablas><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><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><condición>Expr1 operadoroperador Expr2 Expr2
atributo Constante Operador Lógico Operador
Relacional
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.LS.Q.LInstrucción SelectInstrucción Select
BásicoBá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:SELECTSELECT NOM
FROMFROM JUGADORES
WHEREWHERE APE = ‘Delgado’‘Delgado’
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 1:NOMNOMCesarAgustinJavier
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:SELECTSELECT PESO, ALTURA
FROMFROM JUGADORES
WHEREWHERE NOM = ‘Frankie’= ‘Frankie’ ANDAND APE = =
‘Oviedo’‘Oviedo’
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 2.a:PESOPESO ALTURAALTURA94,1 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:SELECTSELECT NOM, APE
FROMFROM JUGADORES
WHEREWHERE ALTURA < 1.8< 1.8
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 3:NOMNOM APEAPECesar DelgadoRonald RaldesLorgio AlvarezRoberto Carlos... ...
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 WHEREWHERE, se despliegan todas las filas de las tablas indicadas en la claúsula FROMFROM.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 4:SELECTSELECT NOM, APE
FROMFROM JUGADORES
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 4:NOMNOM APEAPERuberth MoranCarlos BuenoCesar DelgadoMauricio 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.
SELECTSELECT **FROMFROM SELECCIONES
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 5:IDID NOM NOM 1 Argentina2 Bolivia3 Brasil4 Chile... ...
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
DISTINCTDISTINCT 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
DISTINCTDISTINCTPara indicar que no tome en cuenta valores de filas repetidas hay que utilizar la instrucción DISTINCTDISTINCT.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
DISTINCTDISTINCT Para indicar que no tome en
cuenta valores de filas repetidas hay que utilizar la instrucción DISTINCTDISTINCT.
SELECTSELECT DISTINCTDISTINCT ATRIBUTOFROMFROM 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 SELECT ALTURAFROMFROM 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:ALTURAALTURA
1,951,961,961,761,961,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 SELECT DISTINCTDISTINCT ALTURAFROMFROM JUGADORES
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 6.b:ALTURAALTURA
1,951,961,761,68...
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
Uso de seudónimosUso 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 SELECTSELECT.
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:SELECTSELECT PESO PESOPESO,
ALTURA ALTURAALTURA
FROMFROM JUGADORES
WHEREWHERE NOM = ‘Frankie’ ANDAND APE = ‘Oviedo’
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 2.b:PESOPESO
ALTURAALTURA94,1 1,99
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
Uso de seudónimosUso de seudónimos Generalmente se usa para
renombrar las atributos resultantes del uso de funciones agregadas, como ser:MAX (expr)MAX (expr), máximo.MIN (expr)MIN (expr), mínimo.SUM (expr)SUM (expr), sumatoria.AVG (expr)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[NOT] IN (lista
valores) atributo [NOT] BETWEEN[NOT] BETWEEN
V1 ANDAND V2 atributo IS [NOT] NULLIS [NOT] NULL atributo [NOT] LIKE[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 SELECT NOM, APEFROMFROM JUGADORESWHEREWHERE POSICION IN POSICION IN
(‘Arquero’, ‘Defensa’)(‘Arquero’, ‘Defensa’)
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 7.a:NOMNOM APEAPERuberth MoranJuan Pablo SorinCafuMauricio 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 SELECT NOM, APEFROMFROM JUGADORESWHEREWHERE ALTURA BETWEEN ALTURA BETWEEN
1.8 AND 1.91.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:NOMNOM APEAPEAndres D
AlessandroLeonardo FernandezLuis RibeiroLuis Hector 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 SELECT NOM, APEFROMFROM JUGADORESWHEREWHERE APE LIKEAPE LIKE
‘‘Ca%’Ca%’
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 7.c:NOMNOM APEAPE
CavalleroJose Alfredo CastilloMiguel Calero
Caniza... ...
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.LS.Q.LFunciones AgregadasFunciones Agregadas
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
Funciones AgregadasFunciones 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 AgregadasFunciones Agregadas Se agrupa la información tomando en cuenta: exprexprla(s) tabla(s) en: FROMFROM ... ... la condición en: WHERE...WHERE...
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
Funciones AgregadasFunciones 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 AgregadasFunciones 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] MAX ([DISTINCT|ALL] expr)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 SELECT MAX (MAX ( ALTURA) ) MaximoFROMFROM JUGADORES
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 8:MaximoMaximo
70
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
MIN ([DISTINCT|ALL] MIN ([DISTINCT|ALL] expr)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 SELECT MINMIN (( PESO)) Menor Peso
FROMFROM JUGADORES
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 9:Menor Menor
PesoPeso 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 SELECT MINMIN(( ALTURA )) Altura Altura MinimaMinima
FROMFROM JUGADORES
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 10:Altura Altura
MinimaMinima1.50
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
SUM ([DISTINCT|ALL] N)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 SELECT SUM (SUM ( SUELDO )) Total Sueldos
FROMFROM JUGADORES
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 11.a:Total Total
SueldosSueldos113894,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 SELECT SUM ( SUM ( DISTINCTDISTINCT SUELDO ))
Total Sueldos Distintos
FROMFROM 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 Total Sueldos
DistintosDistintos9323.5
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
AVG ([DISTINCT|ALL] N)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 SELECT AVG (AVG ( SUELDO )) Promedio Sueldos
FROMFROM JUGADORES
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 12:Promedio Promedio
SueldosSueldos769,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:
SELECTSELECT AVG AVG ( ( DISTINCTDISTINCT SUELDO))
Promedio Sueldos Distintos
FROMFROM JUGADORES
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 13:Promedio Sueldos Promedio Sueldos
DistintosDistintos767,17
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
COUNT COUNT ({*|[DISTINCT|ALL] expr ({*|[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 SELECT COUNT (COUNT (ID)) CantidadFROMFROM SELECCIONES
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 14:CantidadCantidad
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 ( SELECT COUNT ( DISTINCTDISTINCT SUELDO ))Sueldos Distintos
FROMFROM JUGADORES
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 15:Sueldos DistintosSueldos 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.LS.Q.LInstrucción SelectInstrucción Select
TIPOS de JOIN (unión)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 CartesianoProducto 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 WHEREWHERE.
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:
SELECTSELECT S.NOM Seleccion, J.NOM NombreFROMFROM JUGADORES J, SELECCIONES S
WHERE WHERE SEL_ID = S.IDSEL_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:SeleccionSeleccion NombreNombre
ArgentinaCristian
Uruguay AlejandroBolivia LuisBrasil 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 SELECT J.NOM NombreFROMFROM JUGADORES J, SELECCIONES S
WHERE WHERE SEL_ID = S.IDSEL_ID = S.IDAND NOM = ‘Uruguay’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:NombreNombre
GustavoAlejandroMarceloDaniel...
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CompatiblesCompatibles 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ónUnión IntersecciónIntersección DiferenciaDiferencia
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
UniónUniónEl 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’:JugadoresDirector Técnico.
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 17:SELECT SELECT S.NOM Seleccion, J.NOM Nombre
FROMFROM JUGADORES J, SELECCIONES SWHERE WHERE SEL_ID = S.IDSEL_ID = S.ID
AND NOM = ‘Uruguay’AND NOM = ‘Uruguay’
UNION ( UNION ( SELECTSELECT S.NOM, D.NOMFROMFROM DTS D, SELECCIONES SWHEREWHERE D.SEL_ID = D.SEL_ID = S.ID S.ID
AND S.NOM = AND S.NOM = ‘Uruguay’ )‘Uruguay’ )
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 17:Seleccion Seleccion NombreNombre
UruguayAdrian
Uruguay Alejandro... ...Uruguay Jorge... ...
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
IntersecciónIntersecció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 SELECT J.NOM Nombre, APE Apellido
FROMFROM JUGADORES J, SELECCIONES SWHERE WHERE SEL_ID = S.ID
ANDAND S.NOM = ‘Uruguay’ANDAND J.ID J.ID
IN ( IN ( SELECT SELECT JUG_ID JUG_ID FROMFROM GOLES))
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 18:NombreNombre ApellidoApellido
Nelson Abeijon
Diego ForlanJavier ChevantonCarlos BuenoAdrian Romero
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
DiferenciaDiferencia 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 SELECT J.NOM Nombre, APE Apellido
FROMFROM JUGADORES J, SELECCIONES SWHERE WHERE SEL_ID = S.ID
ANDAND NOM = ‘Uruguay’ANDAND JUG_ID JUG_ID
NOT IN ( NOT IN ( SELECT SELECT JUG_ID JUG_ID FROMFROM GOLES))
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
CONSULTA 19:NombreNombre ApellidoApellido
GustavoMunua
Alejandro LemboMarcelo de SouzaAlvaro Recoba... ...
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
SubconsultasSubconsultas WHEREWHERE atributo [NOT] IN[NOT] IN ...
Intersección [Diferencia]WHERE WHERE atributo
[ALL|SOME|ANY[ALL|SOME|ANY]] ...
WHEREWHERE [NOT] EXISTS[NOT] EXISTS ...
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
SubconsultasSubconsultas WHERE WHERE atributo op_rel [ALL|SOME|[ALL|SOME|
ANY]ANY](subcosulta)
Se ejecuta la subconsulta y luego la consulta para aquellas tuplas que cumplan con la condición.
WHEREWHERE atributo > ALLALL (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 MAYORMAYOR que TODOSTODOS 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 SELECT J.NOM Nombre, APE Apellido
FROMFROM JUGADORES J, SELECCIONES SWHERE WHERE SEL_ID = S.ID
ANDAND S.NOM = ‘Uruguay’ANDAND POSISICION = ‘Atacante’ANDAND SUELDO > ALL> ALL
( SELECTSELECT SUELDO FROMFROM JUGADORES,
SELECCIONES SWHEREWHERE POSICION = ‘Atacante’
ANDAND SEL_ID = S.ID ANDAND 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
SubconsultasSubconsultas WHERE WHERE atributo op_rel [ALL|SOME|[ALL|SOME|
ANY]ANY]
(subcosulta) WHEREWHERE atributo > SOMESOME
(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 MAYORMAYOR que ALGUNOSALGUNOS 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 SELECT S.NOM Nombre, APE Apellido
FROMFROM JUGADORES J, SELECCIONES SWHERE WHERE SEL_ID = S.ID
ANDAND NOM = ‘Uruguay’ANDAND POSICION = ‘Atacante’ANDAND SUELDO > SOME> SOME
( SELECTSELECT SUELDO FROMFROM JUGADORES,
SELECCIONES SWHEREWHERE POSICION = ‘Atacante’
ANDAND SEL_ID = S.ID ANDAND S.NOM != ‘Uruguay’)
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
SubconsultasSubconsultasWHERE WHERE atributo op_rel [ALL|SOME|[ALL|SOME|
ANY]ANY]
(subcosulta) WHEREWHERE atributo > ANYANY
(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 MAYORMAYOR que ALGUNOALGUNO 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 SELECT J.NOM Nombre, APE Apellido
FROMFROM JUGADORES J, SELECCIONES SWHERE WHERE SEL_ID = S.ID
ANDAND NOM = ‘Uruguay’ANDAND SEL_POS = ‘Atacante’ANDAND SUELDO > ANY> ANY
( SELECTSELECT SUELDO FROMFROM JUGADORES J,
SELECCIONES SWHEREWHERE POSICION = ‘Atacante’
ANDAND SEL_ID = S.ID ANDAND S.NOM != ‘Uruguay’)
A/S Leonardo Carámbula – Base de Datos I – Instituto Tecnológico Superior
S.Q.L. - Instrucción SELECT
SubconsultasSubconsultasWHEREWHERE EXISTS 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
SubconsultasSubconsultasWHEREWHERE NOT EXISTS NOT EXISTS
(subconsulta)Cuando no existan tuplas resultantes de la subconsulta.