Guía Práctica de SQL - Cimino
Guía Práctica de SQL - Cimino
Guía Práctica de SQL - Cimino
Cimino
1
Guía práctica de SQL | Carlos E. Cimino
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) ........................................................................................................ 4
Selección de registros............................................................................................................................ 4
Selección. Unicidad. Alias. Columnas calculadas ................................................................... 4
Límites. Ordenamiento .................................................................................................................... 5
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 ................................................................................................................. 10
Eliminación de registros .................................................................................................................... 10
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).
4
Guía práctica de SQL | Carlos E. Cimino
3. Listar nombre y población de cada ciudad, con los nombres de las columnas en
castellano. (Se esperan 2 columnas y 4079 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).
7. Listar nombre de los lenguajes en orden alfabético. (Se espera 1 columna y 984
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).
5
Guía práctica de SQL | Carlos E. Cimino
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).
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).
6
Guía práctica de SQL | Carlos E. Cimino
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).
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).
7
Guía práctica de SQL | Carlos E. Cimino
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).
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'
Fecha de Nacido
DNI Nombre Apellido Género Mail Móvil Dirección Barrio
nacimiento en
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.
9
Guía práctica de SQL | Carlos E. Cimino
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).
10