Ejercicios Prácticos de Consultas SQL para el Dominio de Bases de Datos

Clasificado en Informática

Escrito el en español con un tamaño de 5,55 KB

Ejercicios Resueltos de Consultas en Lenguaje SQL

A continuación, se presenta una serie de ejercicios prácticos diseñados para mejorar la comprensión y aplicación de consultas SQL en diversos escenarios de gestión de bases de datos.

1. Consultas de Selección Básica

1. Averigua el DNI de todos los clientes:

SELECT DNI FROM CLIENTE;

2. Consulta todos los datos de todos los programas:

SELECT * FROM PROGRAMA;

3. Obtén un listado con los nombres de todos los programas:

SELECT NOMBRE FROM PROGRAMA;

4. Genera una lista con todos los comercios:

SELECT * FROM COMERCIO;

2. Uso de Cláusulas DISTINCT y Operadores Aritméticos

5. Genera una lista de las ciudades con establecimientos donde se venden programas, sin que aparezcan valores duplicados (utiliza DISTINCT):

SELECT DISTINCT CIUDAD FROM COMERCIO;

6. Obtén una lista con los nombres de programas, sin que aparezcan valores duplicados (utiliza DISTINCT):

SELECT DISTINCT NOMBRE FROM PROGRAMA;

7. Obtén el DNI más 4 de todos los clientes:

SELECT DNI + 4 FROM CLIENTE;

8. Haz un listado con los códigos de los programas multiplicados por 7:

SELECT CODIGO * 7 FROM PROGRAMA;

3. Filtrado de Datos con la Cláusula WHERE

9. ¿Cuáles son los programas cuyo código es inferior o igual a 10?

SELECT * FROM PROGRAMA WHERE CODIGO <= 10;

10. ¿Cuál es el programa cuyo código es 11?

SELECT * FROM PROGRAMA WHERE CODIGO = 11;

11. ¿Qué fabricantes son de Estados Unidos?

SELECT * FROM FABRICANTE WHERE PAIS = 'ESTADOS UNIDOS';

12. ¿Cuáles son los fabricantes no españoles? Utilizar el operador IN:

SELECT * FROM FABRICANTE WHERE PAIS NOT IN ('ESPAÑA');

13. Obtén un listado con los códigos de las distintas versiones de Windows:

SELECT VERSION FROM PROGRAMA WHERE NOMBRE = 'WINDOWS';

14. ¿En qué ciudades comercializa programas El Corte Inglés?

SELECT CIUDAD FROM COMERCIO WHERE NOMBRE = 'EL CORTE INGLES';

15. ¿Qué otros comercios hay, además de El Corte Inglés? Utilizar el operador IN:

SELECT NOMBRE FROM COMERCIO WHERE NOMBRE NOT IN ('EL CORTE INGLES');

16. Genera una lista con los códigos de las distintas versiones de Windows y Access. Utilizar el operador IN:

SELECT CODIGO FROM PROGRAMA WHERE NOMBRE IN ('WINDOWS', 'ACCESS');

4. Operadores Lógicos, Rangos y Patrones

17. Obtén un listado que incluya los nombres de los clientes de edades comprendidas entre 10 y 25 y de los mayores de 50 años. Da una solución con BETWEEN y otra sin BETWEEN:

Solución con BETWEEN:

SELECT NOMBRE FROM CLIENTE WHERE (EDAD BETWEEN 10 AND 25) OR EDAD > 50;

Solución sin BETWEEN:

SELECT NOMBRE FROM CLIENTE WHERE (EDAD >= 10 AND EDAD <= 25) OR EDAD > 50;

18. Saca un listado con los comercios de Sevilla y Madrid. No se admiten valores duplicados:

SELECT DISTINCT NOMBRE FROM COMERCIO WHERE CIUDAD IN ('SEVILLA', 'MADRID');

19. ¿Qué clientes terminan su nombre en la letra 'o'?

SELECT * FROM CLIENTE WHERE NOMBRE LIKE '%O';

20. ¿Qué clientes terminan su nombre en la letra 'o' y, además, son mayores de 30 años?

SELECT * FROM CLIENTE WHERE NOMBRE LIKE '%O' AND EDAD > 30;

21. Obtén un listado en el que aparezcan los programas cuya versión finalice por una letra 'i', o cuyo nombre comience por una 'A' o por una 'W':

SELECT * FROM PROGRAMA 
WHERE VERSION LIKE '%I' 
OR NOMBRE LIKE 'A%' 
OR NOMBRE LIKE 'W%';

22. Obtén un listado en el que aparezcan los programas cuya versión finalice por una letra 'i', o cuyo nombre comience por una 'A' y termine por una 'S':

SELECT * FROM PROGRAMA WHERE VERSION LIKE '%I' OR NOMBRE LIKE 'A%S';

23. Obtén un listado en el que aparezcan los programas cuya versión finalice por una letra 'i', y cuyo nombre no comience por una 'A':

SELECT * FROM PROGRAMA WHERE VERSION LIKE '%I' AND NOMBRE NOT LIKE 'A%';

5. Ordenación de Resultados

24. Obtén una lista de empresas por orden alfabético ascendente:

SELECT NOMBRE FROM FABRICANTE ORDER BY NOMBRE ASC;

25. Genera un listado de empresas por orden alfabético descendente:

SELECT NOMBRE FROM FABRICANTE ORDER BY NOMBRE DESC;

26. Obtén un listado de programas por orden de versión:

SELECT * FROM PROGRAMA ORDER BY VERSION;

27. Genera un listado de los programas que desarrolla Oracle:

SELECT NOMBRE FROM PROGRAMA WHERE ID_FABRICANTE = (SELECT ID FROM FABRICANTE WHERE NOMBRE = 'ORACLE');

Entradas relacionadas: