Guía Práctica de SQL - Carlos E. Cimino para Aula
Guía Práctica de SQL - Carlos E. Cimino para Aula
Guía Práctica de SQL - Carlos E. Cimino para Aula
Este documento se encuentra bajo Licencia Creative Commons 4.0 Internacional (CC BY-NC-
ND 4.0).
Usted es libre para:
• No Comercial — Usted no puede hacer uso del material con fines comerciales.
• Sin Derivar — Si usted mezcla, transforma o crea nuevo material a partir de esta
obra, usted no podrá distribuir el material modificado.
2
Guía práctica de SQL | Carlos E. Cimino
Índice
Data Manipulate Language (DML) ............................................................................................ 3
Selección de registros ........................................................................................................... 3
Selección. Unicidad. Alias. Columnas calculadas .............................................................. 4
Límites. Ordenamiento ..................................................................................................... 4
Filtrado de registros. Operadores relacionales y lógicos. Operadores IN y BETWEEN .... 5
Manejo de valores nulos. Operador LIKE. Comodines ..................................................... 6
Unión de tablas ................................................................................................................. 6
Funciones de agregación. Agrupamiento ......................................................................... 7
Filtrado de grupos ............................................................................................................. 8
Inserción de registros ............................................................................................................ 9
Modificación de registros...................................................................................................... 9
Eliminación de registros ........................................................................................................ 9
3
Guía práctica de SQL | Carlos E. Cimino
2. Listar solo el nombre de todos los lenguajes distintos que existan. (Se espera 1
columna y 457 registros).
3. Listar nombre y población de cada ciudad, con los nombres de las columnas en
castellano. (Se esperan 2 columnas y 4079 registros).
4. Listar el nombre, el GNP como 'Producto Bruto Nacional', el GNPOld como 'Producto
Bruto Nacional Anterior' y la diferencia entre estos como 'Diferencia', para todos los
países. (Se esperan 4 columnas y 239 registros).
Límites. Ordenamiento
6. Listar toda la información de los países, ordenados por población de manera
ascendente. (Se esperan 15 columnas y 239 registros).
4
Guía práctica de SQL | Carlos E. Cimino
7. Listar nombre de los lenguajes en orden alfabético. (Se espera 1 columna y 984
registros).
8. Listar nombre y cantidad de habitantes de las veinte ciudades menos pobladas. (Se
esperan 2 columnas y 20 registros).
9. Listar código, nombre y año de independencia de todos los países, ordenados por
antigüedad descendente. (Se esperan 3 columnas y 239 registros).
10. Listar nombre y continente de los cien países con mayor expectativa de vida. Si
hubiera países que tengan la misma expectativa de vida, mostrar primero a los de
menor superficie. (Se esperan 2 columnas y 100 registros).
12. Listar todos los datos de los países cuya expectativa de vida supere los setenta y
cinco años, ordenados bajo este concepto de forma ascendente. (Se esperan 15
columnas y 62 registros).
13. Listar todos los datos de los países cuya independencia haya ocurrido a partir de la
segunda mitad del siglo XIX y su forma de gobierno sea una monarquía
constitucional. (Se esperan 15 columnas y 20 registros).
14. Listar todos los datos de los diez países europeos de mayor PBN. (Se esperan 15
columnas y 10 registros).
15. Listar todos los datos de los países cuyo nombre registrado coincida con su nombre
local. (Se esperan 15 columnas y 104 registros).
16. Listar todos los datos de los países cuya independencia se haya dado a partir de la
segunda mitad del siglo XX. (Se esperan 15 columnas y 110 registros).
17. Listar todos los datos de los países situados en Europa, Asia o Sudamérica. (Se
esperan 15 columnas y 111 registros).
18. Listar todos los datos de todos los países, excepto los africanos. (Se esperan 15
columnas y 181 registros).
19. Listar todos los datos de las ciudades argentinas fuera de la provincia de Buenos
Aires. (Se esperan 5 columnas y 26 registros).
5
Guía práctica de SQL | Carlos E. Cimino
20. Listar todos los datos de las ciudades de entre 125 mil y 130 mil habitantes. (Se
esperan 5 columnas y 138 registros).
22. Listar todos los datos de los países donde no se tengan datos acerca del PBN anterior
ni de la expectativa de vida. (Se esperan 15 columnas y 17 registros).
23. Listar todos los datos de los países cuyo nombre comience y termine con 'A'. (Se
esperan 15 columnas y 13 registros).
24. Listar todos los datos de los países cuyo nombre sea compuesto (más de una
palabra). (Se esperan 15 columnas y 66 registros).
25. Listar todos los datos de las ciudades cuyo nombre o distrito contengan un '-'
(guión medio). (Se esperan 5 columnas y 372 registros).
Unión de tablas
26. Listar los nombres de los países sudamericanos junto a los nombres (alias 'Capital')
de sus capitales. (Se esperan 2 columnas y 14 registros).
27. Listar el código de país, junto a los nombres de las ciudades y su cantidad de
habitantes, de aquellos cuya expectativa de vida sea mayor a 80. (Se esperan 3
columnas y 253 registros).
28. Listar las capitales de los países cuya forma de gobierno sea una República Federal.
(Se esperan 2 columnas y 15 registros).
29. Listar los lenguajes oficiales, junto al nombre de sus respectivos países, donde la
cantidad de habitantes de dicho país esté entre un millón y tres millones. (Se esperan
2 columnas y 14 registros).
30. Listar los códigos, los nombres locales y la región a la que pertenecen aquellos países
donde se hable español. (Se esperan 3 columnas y 28 registros).
31. Listar los nombres y las capitales de los países en cuya capital se concentre más de la
mitad de su población total. (Se esperan 2 columnas y 14 registros).
32. Listar los nombres y la superficie de los países africanos cuya capital coincida con el
nombre del distrito a la que pertenece. (Se esperan 2 columnas y 32 registros).
6
Guía práctica de SQL | Carlos E. Cimino
33. Listar los nombres, las capitales y el año de independencia (sin nulos) de los 20 países
más antiguos. (Se esperan 3 columnas y 20 registros).
34. Listar las ciudades junto a sus idiomas oficiales, donde no se hable español, inglés,
portugués, italiano, francés o alemán de manera oficial. (Se esperan 2 columnas y
2694 registros).
35. Listar nombre, población y país de las diez ciudades europeas de habla inglesa más
pobladas. (Se esperan 3 columnas y 10 registros).
38. Agrupar a todos los países según el continente al que pertenecen. Mostrar los
continentes junto a la cantidad de naciones que pertenecen a cada uno. (Se esperan
2 columnas y 7 registros).
39. Agrupar a todas las ciudades según el país al que pertenecen. Mostrar los códigos de
países junto a la sumatoria total de habitantes de cada uno. (Se esperan 2 columnas
y 232 registros).
40. Agrupar a todos los lenguajes según su nombre. Mostrar los nombres de los
lenguajes junto al porcentaje de habla mínimo registrado para cada uno. (Se esperan
2 columnas y 457 registros).
41. Mostrar las distintas formas de gobierno posibles de los países europeos junto a su
correspondiente promedio de población que vive bajo estas circunstancias. (Se
esperan 2 columnas y 10 registros).
42. Mostrar las diez regiones de mayor expectativa de vida promedio. (Se esperan 2
columnas y 10 registros).
43. Mostrar los nombres de los diez distritos de mayor cantidad de ciudades con
cantidad de habitantes mayor al medio millón, junto a la cantidad de ciudades. (Se
esperan 3 columnas y 10 registros).
44. Mostrar los nombres de los países que tengan ciudades en el Caribe, junto al número
de las mismas por país. (Se esperan 2 columnas y 24 registros).
7
Guía práctica de SQL | Carlos E. Cimino
45. Mostrar los lenguajes existentes junto a la cantidad de países que lo hablan de
manera oficial. (Se esperan 2 columnas y 102 registros).
Filtrado de grupos.
46. Mostrar listados los años de independencia (sin nulos) junto a la cantidad de países
que la hayan conseguido en ese año. Se desea visualizar aquellos años donde más de
un país se haya independizado. (Se esperan 2 columnas y 39 registros).
47. Listar los países junto a la cantidad de idiomas diferentes hablados, pero solo
aquellos donde se hablen entre tres y cinco idiomas diferentes. (Se esperan 2
columnas y 80 registros).
48. Mostrar los distritos, junto al nombre del país al que pertenecen, cuya población
total (también listada) no supere los diez mil habitantes. (Se esperan 3 columnas y 35
registros).
49. Mostrar las regiones junto a su densidad poblacional promedio, donde ésta supere a
la mitad de la densidad poblacional máxima. (Se esperan 2 columnas y 3 registros).
50. Mostrar los lenguajes oficiales junto a su porcentaje promedio de habla, cuyo
promedio no supere un dígito entero. (Se esperan 2 columnas y 7 registros).
8
Guía práctica de SQL | Carlos E. Cimino
Inserción de registros
51. Insertar un nuevo cliente con los siguientes datos:
'12169851', 'Luis Enrique', 'Pérez', 'HOMBRE', '1954-06-01',
'perez_luisenrique@ma1l.com', '1157319468', 'Pujol 416', 'Caballito', 'Uruguay'
flor.santos@ma Villa
17278290 Florencia Santos MUJER 1963-07-12 1148434346 Piran 3015 Argentina
1l.com Urquiza
53. Insertar una cliente llamada María Sol González, con DNI 36.427.254, nacida en
Argentina el 15 de agosto de 1992. Domiciliada en Gurruchaga 243, Villa Crespo.
Su móvil es 1136782013 y su mail es ma.gon54@gma1l.com.
Modificación de registros
54. Modificar el apellido de la cliente 85 por 'Chaves'. (Se espera 1 registro afectado).
55. Agregar un cero a la izquierda de todos los DNI con exactamente siete cifras. (Se
esperan 1173 registros afectados).
56. Agregar una tilde a todos los clientes llamados 'Nicolas' como único nombre para
que el mismo pase a ser 'Nicolás'. (Se esperan 3 registros afectados).
57. Poner en mayúsculas los apellidos de los clientes cuya nacionalidad no sea
'Argentina'. (Se esperan 4450 registros afectados).
Eliminación de registros
58. Eliminar al cliente 9804. (Se espera 1 registro afectado).
59. Eliminar a los clientes cuyo servidor de mail sea 'z0h0'. (Se esperan 2127 registros
afectados).
60. Eliminar a todos los clientes que residan en el barrio de 'Flores'. (Se esperan
803 registros afectados).