![Page 1: OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM](https://reader033.vdocuments.pub/reader033/viewer/2022061301/54db1f6a4979599e0a8b4ed6/html5/thumbnails/1.jpg)
OPERACIONES DE RECUPERACIÓN.
WHERE ciudad=‘Las Palmas’;
de los suministradoresObtener el código y la situación
de Las Palmas
SELECT sn, situacion
FROM s
![Page 2: OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM](https://reader033.vdocuments.pub/reader033/viewer/2022061301/54db1f6a4979599e0a8b4ed6/html5/thumbnails/2.jpg)
RECUPERACIÓN SIMPLE.
SELECT pn
FROM sp;
Obtener el código de partede cada venta
![Page 3: OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM](https://reader033.vdocuments.pub/reader033/viewer/2022061301/54db1f6a4979599e0a8b4ed6/html5/thumbnails/3.jpg)
RECUPERACIÓN SIMPLE.
SELECT DISTINCT pn
FROM sp;
Obtener el códigode cada parte suministrada
![Page 4: OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM](https://reader033.vdocuments.pub/reader033/viewer/2022061301/54db1f6a4979599e0a8b4ed6/html5/thumbnails/4.jpg)
RECUPERACIÓN SIMPLE.
SELECT sn, snombre, situacion, ciudad
FROM s; ../..
SELECT *
FROM s;
Obtener los detalles completos de todos los suministradores.
![Page 5: OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM](https://reader033.vdocuments.pub/reader033/viewer/2022061301/54db1f6a4979599e0a8b4ed6/html5/thumbnails/5.jpg)
RECUPERACIÓN CUALIFICADA.
SELECT sn
FROM s
WHERE ciudad=‘Las Palmas’
AND situacion>20;
Obtener el códigode los suministradoresde Las Palmas con situación mayor que 20.
![Page 6: OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM](https://reader033.vdocuments.pub/reader033/viewer/2022061301/54db1f6a4979599e0a8b4ed6/html5/thumbnails/6.jpg)
RECUPERACIÓN CON ORDENACIÓN.
SELECT sn, situacion
FROM s
WHERE ciudad=‘Las Palmas’
ORDER BY situacion DESC;
Obtener el código y la situaciónde los suministradoresde Las Palmasen orden descendente de situación.
![Page 7: OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM](https://reader033.vdocuments.pub/reader033/viewer/2022061301/54db1f6a4979599e0a8b4ed6/html5/thumbnails/7.jpg)
RECUPERACIÓN DESDE MÁS DE UNA TABLA.
SELECT DISTINCT pn, ciudad
FROM sp, s
WHERE sp.sn=s.sn;
Obtener, para cada parte suministrada, el código de parte y los nombres de las ciudades que suministran la parte.
![Page 8: OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM](https://reader033.vdocuments.pub/reader033/viewer/2022061301/54db1f6a4979599e0a8b4ed6/html5/thumbnails/8.jpg)
RECUPERACIÓN IMPLICANDO EL JOIN DE UNA TABLA CONSIGO MISMA.
SELECT sX.sn, sY.sn
FROM s sX, s sY
WHERE sX.ciudad=sY.ciudad
AND sX.sn<sY.sn;
Obtener todos los pares de códigos de suministradores de forma que dos de ellos esten localizados en la misma ciudad.
![Page 9: OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM](https://reader033.vdocuments.pub/reader033/viewer/2022061301/54db1f6a4979599e0a8b4ed6/html5/thumbnails/9.jpg)
RECUPERACIÓN USANDO ANY.
SELECT DISTINCT snombreFROM s, spWHERE s.sn=sp.snAND sp.pn=‘P2’; ../..
SELECT snombreFROM sWHERE sn = ANY
(SELECT snFROM spWHERE pn=‘P2’);
Obtener los nombres de los suministradores que suministran la parte ‘P2’.
![Page 10: OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM](https://reader033.vdocuments.pub/reader033/viewer/2022061301/54db1f6a4979599e0a8b4ed6/html5/thumbnails/10.jpg)
RECUPERACIÓN USANDO <ANY.
SELECT snFROM sWHERE situacion < ANY
(SELECT situacionFROM s);
Obtener los códigos de los suministradores que tengan un valor de situación menor que el máximo valor de situación de la tabla s.
![Page 11: OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM](https://reader033.vdocuments.pub/reader033/viewer/2022061301/54db1f6a4979599e0a8b4ed6/html5/thumbnails/11.jpg)
RECUPERACIÓN USANDO IN.
Obtener los nombres de los suministradores que suministran la parte ‘P2’.
SELECT snombreFROM sWHERE sn IN
(SELECT snFROM spWHERE pn=‘P2’);
SELECT DISTINCT snombreFROM s, spWHERE s.sn=sp.snAND sp.pn=‘P2’; ../..
![Page 12: OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM](https://reader033.vdocuments.pub/reader033/viewer/2022061301/54db1f6a4979599e0a8b4ed6/html5/thumbnails/12.jpg)
Obtener los nombres de los suministradores que suministran, al menos, una parte roja.
SELECT snombre
FROM s
WHERE sn IN
(SELECT sn
FROM sp
WHERE pn IN
(SELECT pn
FROM p
WHERE color=‘rojo’));
RECUPERACIÓN CON MULTIPLES NIVELES DE ANIDAMIENTO.
![Page 13: OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM](https://reader033.vdocuments.pub/reader033/viewer/2022061301/54db1f6a4979599e0a8b4ed6/html5/thumbnails/13.jpg)
RECUPERACIÓN CON SUBQUERY, CON REFERENCIA ENTRE BLOQUES.
SELECT snombreFROM sWHERE ‘P2’ IN
(SELECT pnFROM spWHERE sn=s.sn);
Obtener los nombres de los suministradores que suministran la parte ‘P2’.
SELECT DISTINCT snombreFROM s, spWHERE s.sn=sp.snAND sp.pn=‘P2’; ../..
SELECT snombreFROM sWHERE sn IN
(SELECT snFROM spWHERE pn=‘P2’); ../..
![Page 14: OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM](https://reader033.vdocuments.pub/reader033/viewer/2022061301/54db1f6a4979599e0a8b4ed6/html5/thumbnails/14.jpg)
RECUPERACIÓN CON SUBQUERY, CON LA MISMA TABLA IMPLICADA EN AMBOS BLOQUES.
SELECT DISTINCT sn
FROM sp
WHERE pn IN
(SELECT pn
FROM sp
WHERE sn=‘S2’);
Obtener los códigos de los suministradores que suministren al menos una parte suministrada por ‘S2’.
![Page 15: OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM](https://reader033.vdocuments.pub/reader033/viewer/2022061301/54db1f6a4979599e0a8b4ed6/html5/thumbnails/15.jpg)
RECUPERACIÓN CON SUBQUERY, CON REFERENCIA ENTRE BLOQUES Y LA MISMA TABLA IMPLICADA EN AMBOS BLOQUES.
SELECT DISTINCT pnFROM sp spXWHERE pn IN
(SELECT pnFROM spWHERE sn <> spX.sn);
Obtener los códigos de las partes suministradas por mas de un suministrador.
![Page 16: OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM](https://reader033.vdocuments.pub/reader033/viewer/2022061301/54db1f6a4979599e0a8b4ed6/html5/thumbnails/16.jpg)
RECUPERACIÓN USANDO ALL.
SELECT snombreFROM sWHERE ‘P2’ <> ALL
(SELECT pnFROM spWHERE sn=s.sn);
Obtener los nombres de los suministradores que NO suministran la parte ‘P2’.
![Page 17: OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM](https://reader033.vdocuments.pub/reader033/viewer/2022061301/54db1f6a4979599e0a8b4ed6/html5/thumbnails/17.jpg)
RECUPERACIÓN CON SUBQUERY Y OPERADOR DE COMPARACIÓN SIN CUALIFICAR.
SELECT sn
FROM s
WHERE ciudad =
(SELECT ciudad
FROM s
WHERE sn=‘S1’);
Obtener los códigos de los suministradores que están en la misma ciudad que el suministrador con código ‘S1’.
![Page 18: OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM](https://reader033.vdocuments.pub/reader033/viewer/2022061301/54db1f6a4979599e0a8b4ed6/html5/thumbnails/18.jpg)
RECUPERACIÓN USANDO EXISTS.
SELECT snombreFROM sWHERE ‘P2’ IN
(SELECT pnFROM spWHERE sn=s.sn); ../..
Obtener los nombres de los suministradores que suministran la parte ‘P2’.
SELECT DISTINCT snombreFROM s, spWHERE s.sn=sp.snAND sp.pn=‘P2’; ../..
SELECT snombreFROM sWHERE sn IN
(SELECT snFROM spWHERE pn=‘P2’); ../..
SELECT snombreFROM sWHERE EXISTS
(SELECT *FROM spWHERE sn=s.snAND pn=‘P2’);
![Page 19: OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM](https://reader033.vdocuments.pub/reader033/viewer/2022061301/54db1f6a4979599e0a8b4ed6/html5/thumbnails/19.jpg)
RECUPERACIÓN USANDO NOT EXISTS.
SELECT snombreFROM sWHERE ‘P2’ <> ALL
(SELECT pnFROM spWHERE sn=s.sn); ../..
Obtener los nombres de los suministradores que NO suministran la parte ‘P2’.
SELECT snombreFROM sWHERE NOT EXISTS
(SELECT *FROM spWHERE sn=s.snAND pn=‘P2’);
![Page 20: OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM](https://reader033.vdocuments.pub/reader033/viewer/2022061301/54db1f6a4979599e0a8b4ed6/html5/thumbnails/20.jpg)
RECUPERACIÓN USANDO NOT EXISTS.
SELECT snombre
FROM s
WHERE NOT EXISTS
(SELECT *
FROM p
WHERE NOT EXISTS
(SELECT *
FROM sp
WHERE sn = s.sn
AND pn=p.pn));
Obtener los nombres de los suministradores que suministran todas las partes.
![Page 21: OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM](https://reader033.vdocuments.pub/reader033/viewer/2022061301/54db1f6a4979599e0a8b4ed6/html5/thumbnails/21.jpg)
RECUPERACION USANDO NOT EXISTS.
(esta solución pasaría por la creación previa de una tabla ‘temp’, en la que sólo estarían los códigos de las partes suministradas por ‘S2’)
SELECT DISTINCT sn
FROM sp spX
WHERE NOT EXISTS
(SELECT *
FROM temp
WHERE NOT EXISTS
(SELECT *
FROM sp
WHERE sn=spX.sn
AND pn=temp.pn)); ..\..
Obtener los códigos de los suministradores que suministran al menos todas las partes suministradas por el suministrador con código ‘S2’.
SELECT DISTINCT sn
FROM sp spX
WHERE NOT EXISTS
(SELECT *
FROM sp spY
WHERE sn=‘S2’
AND NOT EXISTS
(SELECT *
FROM sp
WHERE sn=spX.sn
AND pn=spY.pn));
![Page 22: OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM](https://reader033.vdocuments.pub/reader033/viewer/2022061301/54db1f6a4979599e0a8b4ed6/html5/thumbnails/22.jpg)
RECUPERACION USANDO UNION.
SELECT pn
FROM p
WHERE peso > 18
UNION
SELECT pn
FROM sp
WHERE sn=‘S2’;
Obtener los códigos de las partes que o bien pesan mas de 18 kilos o bien son suministradas por ‘S2’ (o ambas cosas a la vez).
![Page 23: OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM](https://reader033.vdocuments.pub/reader033/viewer/2022061301/54db1f6a4979599e0a8b4ed6/html5/thumbnails/23.jpg)
RECUPERACION DE VALORES CALCULADOS.
SELECT pn, peso*1000
FROM p;
Obtener los códigos de parte y el peso en gramos de cada una de las partes. Los pesos de la tabla p estan en kilogramos.
![Page 24: OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM](https://reader033.vdocuments.pub/reader033/viewer/2022061301/54db1f6a4979599e0a8b4ed6/html5/thumbnails/24.jpg)
RECUPERACION IMPLICANDO NULL.
SELECT sn
FROM s
WHERE situacion > 30;
Obtener los códigos de los suministradores con un valor de situación mayor de 30.
![Page 25: OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM](https://reader033.vdocuments.pub/reader033/viewer/2022061301/54db1f6a4979599e0a8b4ed6/html5/thumbnails/25.jpg)
RECUPERACION IMPLICANDO NULL.
SELECT sn
FROM s
WHERE situacion > 30
OR situacion IS NULL;
Obtener los códigos de los suministradores con un valor de situación mayor de 30 o bien nulo.
![Page 26: OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM](https://reader033.vdocuments.pub/reader033/viewer/2022061301/54db1f6a4979599e0a8b4ed6/html5/thumbnails/26.jpg)
FUNCION COUNT EN LA CLAUSULA SELECT.
SELECT COUNT (*)
FROM s;
Obtener el numero total de suministradores.
![Page 27: OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM](https://reader033.vdocuments.pub/reader033/viewer/2022061301/54db1f6a4979599e0a8b4ed6/html5/thumbnails/27.jpg)
FUNCION COUNT EN LA CLAUSULA SELECT.
SELECT COUNT (DISTINCT sn)
FROM sp;
Obtener el numero total de suministradores que suministren realmente alguna parte.
![Page 28: OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM](https://reader033.vdocuments.pub/reader033/viewer/2022061301/54db1f6a4979599e0a8b4ed6/html5/thumbnails/28.jpg)
FUNCION COUNT EN LA CLAUSULA SELECT CON UN PREDICADO.
SELECT COUNT (*)
FROM sp
WHERE pn=‘P2’;
Obtener el numero de ventas de la parte ‘P2’.
![Page 29: OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM](https://reader033.vdocuments.pub/reader033/viewer/2022061301/54db1f6a4979599e0a8b4ed6/html5/thumbnails/29.jpg)
FUNCION SUM EN LA CLAUSULA SELECT CON UN PREDICADO.
SELECT SUM(cantidad)
FROM sp
WHERE pn=‘P2’;
Obtener la cantidad total suministrada de la parte ‘P2’.
![Page 30: OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM](https://reader033.vdocuments.pub/reader033/viewer/2022061301/54db1f6a4979599e0a8b4ed6/html5/thumbnails/30.jpg)
FUNCION MAX EN UN SUBQUERY.
SELECT sn
FROM s
WHERE situacion <
(SELECT MAX(situacion)
FROM s);
Obtener los códigos de los suministradores con situación menor que el máximo valor de situación de la tabla s.
![Page 31: OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM](https://reader033.vdocuments.pub/reader033/viewer/2022061301/54db1f6a4979599e0a8b4ed6/html5/thumbnails/31.jpg)
USO DE GROUP BY.
SELECT pn, SUM(cantidad)
FROM sp
GROUP BY pn;
Obtener para cada parte suministrada el código de parte y el total de la cantidad suministrada.
![Page 32: OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM](https://reader033.vdocuments.pub/reader033/viewer/2022061301/54db1f6a4979599e0a8b4ed6/html5/thumbnails/32.jpg)
USO DE GROUP BY CON HAVING.
SELECT DISTINCT pnFROM sp spXWHERE pn IN
(SELECT pnFROM spWHERE sn <> spX.sn); ../..
Obtener los códigos de las partes suministradas por mas de un suministrador.
SELECT pnFROM spGROUP BY pnHAVING COUNT (*) > 1;
![Page 33: OPERACIONES DE RECUPERACIÓN. WHERE ciudad =‘Las Palmas’; de los suministradores Obtener el código y la situación de Las Palmas SELECT sn, situacion FROM](https://reader033.vdocuments.pub/reader033/viewer/2022061301/54db1f6a4979599e0a8b4ed6/html5/thumbnails/33.jpg)
EJEMPLO RESUMEN.
SELECT pn, MAX(cantidad)
FROM sp
WHERE cantidad > 200
GROUP BY pn
HAVING SUM(cantidad) > 300
ORDER BY 2, pn DESC;
Obtener el código de parte y la cantidad maxima suministrada de esa parte para todas las partes tales que la cantidad suministrada es mayor a 300 (excluyendo del total las ventas cuya cantidad sea menor o igual a 200), ordenando el resultado en orden descendente del código de parte dentro del orden ascendente de la cantidad maxima