Vous êtes sur la page 1sur 6

CUCEA

 
 
Licenciatura  en  Tecnologías  de  la  Información  
 
Sistemas  de  Bases  de  Datos  II  
 
Irma  Rebeca  Andalón  García  
 
Ciclo  Escolar  2014-­‐B  
 
 
 
 
 
 
 
 
 
Sesión  3  
 
Repaso  Sistemas  de  Bases  de  Datos  I  
 
Query  Language  (QL)  
 
1. Consultas  simples  
2. Consultas  ordenadas  
3. Consultas  condicionales  
4. Consultas  agrupadas  
5. Consultas  con  sub-­‐consultas  simples  
 
 
 
 
 
 
 
LTI   Lenguaje  de  Consultas  (QL)   2  

1. Lenguaje de consulta (QL)


Select
 
 
SELECT [ALL | DISTINCT]
expresion_select,...
FROM referencias_de_tablas
WHERE condiciones
[GROUP BY {nombre_col | expresion | posicion}
[ASC | DESC]
[HAVING condiciones]
[ORDER BY {nombre_col | expresion | posicion}
[ASC | DESC],...];
 
mysql>    select  *  from  suministradores;  
//  Lista  los  registros  de  la  tabla  
 
mysql>    select  count(*)  from  piezas;  
//  Cuenta  los  registros  de  la  tabla  
 
mysql>    select  count(*)  from  piezas  where  color=’ROJO’;  
//  Cuenta  los  registros  bajo  cierta  condición  
 
mysql>    select  color,  count(*)  from  piezas  group  by  color;  
//  Cuenta  los  registros  bajo  cierta  condición,  agrupados  por  un  campo  
 
mysql>    select  *  from  suministradores  order  by  Snombre;  
//  Lista  los  registros  ordenados  por  un  campo  
 
mysql>    select  *  from  suministradores  order  by  situacion  DESC;  
//  Lista  los  registros  ordenados  por  un  campo  en  forma  descendente  
 
mysql>    select  max(peso)  from  piezas;  
//  Obtiene  el  valor  máximo  de  un  campo  
 
mysql>    select  min(peso)  from  piezas;  
//  Obtiene  el  valor  mínimo  de  un  campo  
 
mysql>    select  avg(situacion)  from  suministradores;  
//  Obtiene  el  promedio  de  un  campo  
 
mysql>    select  concat(pnombre,’  ‘,color)  from  piezas;  
//  Consulta  concatenando  dos  campos  
 
Irma  Rebeca  Andalón  García     Sistemas  de  Bases  de  Datos  II  
LTI   Lenguaje  de  Consultas  (QL)   3  

mysql>    select  Snombre  from  suministradores,  SP    


  →  where  SP.Sno  =  suministradores.sno  and  
  →  SP.cant=500;  
//  Consulta  con  acople.    
 
mysql>    select  distinct  Pno  from  SP    
//  Consulta  sin  repetir  tuplas.    
 
mysql>    select  Sno,  count(*)  from  SP  
  →    group  by  sno;  
//  Consultar  el  número  de  pieza  de  cada  suministrador.  
 
mysql>    select  Pno,  count(*)  as  from  SP  
  →    group  by  Pno  ;  
//  Consultar  el  número  de  suministradores  por  pieza.  
 
 
1. Obtener todos los registros y campos de la tabla S.
SELECT *
FROM S;

2. Obtener el nombre de los suministradores.


SELECT SNOMBRE
FROM S;

3. Obtener el nombre y número de los suministradores.


SELECT SNO, SNOMBRE
FROM S;

4. Obtener el nombre de los suministradores cuya situación es mayor


que veinte.
SELECT SNOMBRE
FROM S
WHERE SITUACION>20;

5. Obtener los números de pieza de SP.


SELECT PNO
FROM SP;

6. Obtener los número de pieza distintos de SP


SELECT DISTINCT PNO
FROM SP;

7. Obtener los números de pieza y el peso de P, ordenados por peso.


SELECT PNO, PESO
FROM P
ORDER BY PESO;

Irma  Rebeca  Andalón  García     Sistemas  de  Bases  de  Datos  II  
LTI   Lenguaje  de  Consultas  (QL)   4  

8. Obtener los números de suministradores de la ciudad `P` y cuya


situación sea mayor que cero.
SELECT SNO
FROM S
WHERE CIUDAD='P' AND SITUACION >20;

9. Obtener número de suministrador y situación de S, donde ciudad sea


P, ordenados por SNO, PNO.
SELECT SNO, SITUACION
FROM S
WHERE CIUDAD='P'
ORDER BY SNO, PNO;

10. Obtener todos los campos de S y SP donde el suministrador sea el


mismo.
SELECT *
FROM S, SP
WHERE S.SNO = SP.SNO;

11. Obtener todos los campos de S y P donde la ciudad de la pieza sea


igual a la del suministrador.
SELECT *
FROM P, S
WHERE S.CIUDAD = P.CIUDAD;

12. Obtener todos los registros de P, donde el nombre de la pieza empiece


con B.
SELECT *
FROM P
WHERE PNOMBRE LIKE 'B%';

13. Obtener todos los registros de P, donde el nombre de la pieza empiece


con B y la ciudad no tenga ninguna E.
SELECT *
FROM P
WHERE PNOMBRE LIKE 'B%' AND COLOR NOT LIKE '%E%';

14. Contar los registros de SP donde el número de pieza sea P2.


SELECT COUNT(*)
FROM SP
WHERE PNO='P2';

Irma  Rebeca  Andalón  García     Sistemas  de  Bases  de  Datos  II  
LTI   Lenguaje  de  Consultas  (QL)   5  

15. Obtener el número de pieza y la suma de las cantidades para cada


pieza diferente, ordenados por la suma de las cantidades.
SELECT PNO, SUM(CANT)
FROM SP
GROUP BY PNO
ORDER BY 2;

16. Obtener el nombre de los suministradores que suministran la pieza P2.


SELECT SNOMBRE
FROM SP, S
WHERE S.SNO = SP.SNO AND SP.PNO='P2';

17. Obtener el nombre de los suministradores que suministran al menos


una pieza roja.
SELECT SNOMBRE
FROM S
WHERE S.SNO IN
(SELECT SP.SNO
FROM SP.P
WHERE SP.PNO = P.PNO AND P.COLOR='ROJO');

18. Hallar la cantidad de suministradores de cada pieza.


SELECT PNO, COUNT(*)
FROM SP
GROUP BY PNO;

19. Obtener que piezas se ofertan por más de un suministrador (having


eliminará grupos).
SELECT PNO
FROM SP
GROUP BY PNO
HAVING COUNT(*)>1;

20. Obtener el número de los suministradores situados en la misma


ciudad que s1.
SELECT SNO
FROM S
WHERE CIUDAD IN
(SELECT CIUDAD
FROM S
WHERE SNO='S1');

SELECT V.SNO
FROM S U, S V
WHERE U.SNO='S1' AND V.CIUDAD=U.CIUDAD;

Irma  Rebeca  Andalón  García     Sistemas  de  Bases  de  Datos  II  
LTI   Lenguaje  de  Consultas  (QL)   6  

21. Obtener los números de los proveedores cuya situación sea menor
que el valor máximo actual de situación S.
SELECT SNO
FROM S
WHERE SITUACION <
(SELECT MAX(SITUACION)
FROM S);

22. Obtener el nombre de los suministradores que no suministran P2.


SELECT SNOMBRE
FROM S
WHERE NOT EXISTS
(SELECT *
FROM SP
WHERE SP.PNO ='P2' AND S.SNO=SP.SNO);

23. Obtener los números de los proyectos a los cuales suministran alguna
pieza por lo menos un suministrador situado en una ciudad diferente a
la del propio proyecto.
SELECT DISTINCT J.JNO
FROM SPJ, S, J
WHERE SPJ.JNO=J.JNO
AND SPJ.SNO = S.SNO
AND S.CIUDAD <> J.CIUDAD;

24. Obtener la cantidad total de proyectos a los que suministran piezas S1.
SELECT COUNT(DISTINCT JNO)
FROM SPJ
WHERE SNO='S1';

25. Obtener todas las parejas pno, tales que algún suministrador
suministre las dos piezas.
SELECT A.PNO, SP.PNO
FROM SP A, SP
WHERE A.SNO = SP.SNO AND A.PNO < SP.PNO;

26. Obtener PNO de las piezas suministradas a algún proyecto tal que la
cantidad promedio suministrada sea mayor que 1.
SELECT DISTINCT PNO
FROM SPJ
GROUP BY PNO, JNO
HAVING AVG(CANT) > 1;

27. Obtener JNO para los cuales S1 es el único suministrador.


SELECT JNO
FROM SPJ
WHERE JNO NOT IN
(SELECT JNO
FROM SPJ
WHERE SNO <> 'S1');  
 

Irma  Rebeca  Andalón  García     Sistemas  de  Bases  de  Datos  II  

Vous aimerez peut-être aussi